*/ protected $casts = [ 'type' => NotificationType::class ]; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'type', 'content', 'customer_id' ]; // * RELATIONSHIPS /** * Get the customer that owns the Notifications * * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function customer(): BelongsTo { return $this->belongsTo(Customer::class); } /** * Polymorphic relation : Get the parent model * * @return \Illuminate\Database\Eloquent\Relations\MorphTo */ public function notifiable(): MorphTo { return $this->morphTo(); } // * METHODS /** * created_at_nice_date attribute * * @return \Illuminate\Database\Eloquent\Casts\Attribute */ public function createdAtNiceDate(): Attribute { return Attribute::make( get: fn () => (new NiceDate())->get(null, '', $this->created_at, []) ); } }