*/ use HasFactory; public $timestamps = false; protected $table = 'notification_log'; protected $fillable = [ 'user_id', 'channel', 'trigger_type', 'fuel_type', 'price', 'sent', 'missed_reason', 'created_at', ]; public function user(): BelongsTo { return $this->belongsTo(User::class); } /** Count sent notifications for this channel today. */ public function scopeSentToday(Builder $query, string $channel): void { $query->where('channel', $channel) ->where('sent', true) ->whereDate('created_at', today()); } /** Notifications that were not sent. */ public function scopeMissed(Builder $query): void { $query->where('sent', false); } protected function casts(): array { return [ 'sent' => 'boolean', 'price' => 'decimal:3', 'created_at' => 'datetime', ]; } }