toDateString(); $ids = Reservation::query() ->join('activity_days', 'activity_days.id', '=', 'reservations.activity_day_id') ->where('reservations.status', 'pending') ->whereNull('reservations.verified_at') ->whereNotNull('reservations.activity_day_id') ->whereDate('activity_days.activity_date', '<', $today) ->pluck('reservations.id'); if ($ids->isEmpty()) { return 0; } return Reservation::query()->whereIn('id', $ids)->update([ 'status' => 'expired', 'updated_at' => now(), ]); } }