![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/ledger.corals.io/Corals/modules/Ledger/Models/ |
<?php namespace Corals\Modules\Ledger\Models; use Corals\Foundation\Models\BaseModel; use Corals\Foundation\Traits\ModelUniqueCode; use Corals\Foundation\Transformers\PresentableTrait; use Corals\Modules\Utility\Models\Category\Category; use Corals\Modules\Utility\Traits\Gallery\ModelHasGallery; use Illuminate\Support\Arr; use Spatie\Activitylog\Traits\LogsActivity; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; class Item extends BaseModel implements HasMedia { use PresentableTrait, LogsActivity, ModelUniqueCode, InteractsWithMedia, ModelHasGallery; protected $formModalConfig = ['size' => 'modal-lg']; protected $table = 'ledger_items'; public $mediaCollectionName = 'utility-category-thumbnail'; /** * Model configuration. * @var string */ public $config = 'ledger.models.item'; protected $casts = [ 'properties' => 'json', ]; protected $guarded = ['id']; public function category() { return $this->belongsTo(Category::class); } public function recordItems() { return $this->hasMany(RecordItems::class); } public function getUsedQuantityAttribute() { if (Arr::has($this->attributes, 'used_quantity')) { return $this->attributes['used_quantity']; } $this->attributes['used_quantity'] = $this->recordItems()->sum('quantity'); return $this->attributes['used_quantity']; } public function getCurrentQuantityAttribute() { return $this->quantity - $this->used_quantity; } }