File: //home/armgroup/libs/app/Models/Author.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Spatie\Activitylog\LogOptions;
use Spatie\Activitylog\Traits\LogsActivity;
class Author extends Model
{
use HasFactory, LogsActivity;
protected $guarded = ['id'];
protected $casts = [
'faq' => 'array',
];
public function getActivitylogOptions(): LogOptions
{
return LogOptions::defaults()
->logUnguarded()
->setDescriptionForEvent(fn (string $eventName) => "نویسندگان ({$this->name}) ".eventNameTranslate($eventName));
}
protected static function boot()
{
parent::boot();
static::addGlobalScope('order', function (Builder $builder) {
$builder->orderByRaw('ISNULL(sort_order), sort_order ASC');
});
}
public function getRouteKeyName()
{
return 'slug';
}
}