![]() 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/Utility/Models/ListOfValue/ |
<?php namespace Corals\Modules\Utility\Models\ListOfValue; use Corals\Foundation\Models\BaseModel; use Corals\Foundation\Traits\Cache\Cachable; use Corals\Foundation\Traits\ModelPropertiesTrait; use Corals\Foundation\Traits\ModelUniqueCode; use Corals\Foundation\Transformers\PresentableTrait; use Illuminate\Database\Eloquent\Builder; use Spatie\Activitylog\Traits\LogsActivity; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; class ListOfValue extends BaseModel implements HasMedia { use PresentableTrait, LogsActivity, ModelPropertiesTrait, ModelUniqueCode, Cachable,InteractsWithMedia; /** * Model configuration. * @var string */ public $config = 'utility.models.listOfValue'; protected $table = 'utility_list_of_values'; protected $casts = [ 'properties' => 'json', ]; public $guarded = ['id']; public $mediaCollectionName = 'utility-listOfvalue-thumbnail'; public function scopeWithModule(Builder $query, string $module = null): Builder { if (is_null($module)) { return $query; } return $query->where('module', $module); } public function scopeActive($query) { return $query->where('status', 'active'); } public function parent() { return $this->belongsTo(ListOfValue::class, 'parent_id', 'id'); } public function children() { return $this->hasMany(ListOfValue::class, 'parent_id', 'id'); } public function getLabelAttribute() { if (empty($this->attributes['label'])) { return data_get($this->attributes, 'value'); } else { return data_get($this->attributes, 'label'); } } }