You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
858 B
29 lines
858 B
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\User;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class BirthdayController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$userBirthdayQuery = User::whereNotNull('dob')
|
|
->select('users.name',
|
|
'users.dob',
|
|
'users.id as user_id'
|
|
);
|
|
|
|
$currentMonth = Carbon::now()->format('m');
|
|
$nextMonth = Carbon::now()->addMonth()->format('m');
|
|
$userBirthdayQuery->whereIn(DB::raw("month(dob)"), [$currentMonth, $nextMonth]);
|
|
|
|
$users = $userBirthdayQuery->get()->filter(function ($user) {
|
|
return $user->birthday_remaining < 60 && $user->birthday_remaining >= 0;
|
|
})->sortBy('birthday_remaining');
|
|
|
|
return view('birthdays.index', compact('users', 'currentMonth', 'nextMonth'));
|
|
}
|
|
}
|