/
home
/
corsairdevelopme
/
public_html
/
admin-csrnow.corsair-development.com
/
app__b301cdf
/
Models
/
Upload File
HOME
<?php namespace App\Models; use App\Http\Traits\LogsActivityCustom; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; use Spatie\Activitylog\LogOptions; use Spatie\Activitylog\Contracts\Activity; use App\Http\Traits\Timezone; class Guideline extends Model { use HasFactory, LogsActivityCustom,Timezone, SoftDeletes; const ARCHIVED = 1; const UNARCHIVED = 0; protected $table = 'guidelines'; protected static $recordEvents = ['created']; public $pageName = "Guideline"; public $colName = "type"; protected $fillable = [ 'currency_id', 'type', 'description', 'guideline_for' ]; const replaceRelation = [ 'currency_id' => [ 'table' => 'currency', 'key' => 'id', 'value' => 'type', ], ]; public function currency() { return $this->belongsTo(Currencies::class, 'currency_id'); } public function description(): Attribute { return Attribute::make( function ($value) { return array_filter(explode(',', $value)); },function ($value){ if (is_string($value) || empty($value)) { return $value; } else { return implode(',', $value); } } ); } public function tapActivity(Activity $activity, string $eventName) { $activity->log_name = $eventName; if ($eventName == 'created') { $currencyValue = $this->currency ? $this->currency->type : 'Unknown Currency'; $activity->description = $this->pageName . ' ' . $currencyValue . ' ' . $this->attributes['type'] . ' ' . $eventName; } } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() ->useLogName('system') ->submitEmptyLogs(false) ->logFillable() ->logExcept(['created_at', 'updated_at','deleted_at']); } }