/
home
/
corsairdevelopme
/
public_html
/
amplivo-console
/
app
/
Models
/
Upload File
HOME
<?php namespace App\Models; use Illuminate\Database\Eloquent\Casts\Attribute; use App\Http\Traits\LogsActivityCustom; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Contracts\Activity; use Spatie\Activitylog\LogOptions; class Guideline extends Model { use HasFactory, LogsActivityCustom; protected $table = 'guideline'; protected static $recordEvents = ['deleted', 'created']; public $pageName = "Guideline"; public $colName = "type"; protected $fillable = [ 'currency_id', 'type', 'description' ]; public function currency() { return $this->belongsTo(Currency::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') { $activity->description = $this->pageName . ' ' . $this->attributes['type'] . ' ' . $eventName; } elseif ($eventName == 'deleted') { $activity->description = $this->pageName . ' ' . $this->attributes['type'] . ' has been ' . $eventName; } } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() ->useLogName('system') ->submitEmptyLogs(false) ->logFillable() ->logExcept(['created_at', 'updated_at']); } }