File: /home/armgroup/libs/app/Models/Page.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Spatie\Activitylog\LogOptions;
use Spatie\Activitylog\Traits\LogsActivity;
class Page extends Model
{
use HasFactory, LogsActivity;
protected $guarded = ['id'];
public function getActivitylogOptions(): LogOptions
{
return LogOptions::defaults()
->logUnguarded()
->setDescriptionForEvent(fn (string $eventName) => "صفحات ({$this->title}) ".eventNameTranslate($eventName));
}
public function getRouteKeyName()
{
return 'slug';
}
public function user()
{
return $this->belongsTo(User::class)->withDefault();
}
public function getThumbImageAttribute($value)
{
return $this->image ?: 'images/defaults/default.jpg';
}
public function comments()
{
return $this->morphMany(Comment::class, 'commentable');
}
public function getUrlAttribute()
{
return route('pages.show', $this->slug);
}
}