@php use App\Models\User; use Carbon\Carbon; $today = Carbon::today(); $birthdays = User::where('role', 'staff') ->where('is_active', 1) ->whereNotNull('dob') ->get() ->map(function ($user) use ($today) { $dob = Carbon::parse($user->dob); $birthday = Carbon::create( $today->year, $dob->month, $dob->day ); // If birthday has already passed this year, // use next year's birthday if ($birthday->lt($today)) { $birthday->addYear(); } $user->birthday_date = $birthday; $user->birthday_days = $today->diffInDays($birthday); return $user; }) ->filter(function ($user) { return $user->birthday_days <= 7; }) ->sortBy('birthday_date') ->values(); @endphp