با استفاده از متد کاربردی ()orderByRaw<-
در Eloquent میتوانیم نتایج را با دستورات خام SQL مرتب کنیم.
در مثال زیر، تسکها براساس اختلاف تاریخ موعد انجام due_at
و تاریخ انجام شده completed_at
، به صورت نزولی مرتب شدهاند. یعنی تسکی در اول قرار میگیرد که از تمام تسکهای دیگر زودتر از موعد انجام شده است.
// Sort tasks by the task was completed before the due date
$tasks = Task::query()
->whereNotNull('completed_at')
->orderByRaw('due_at - completed_at DESC')
->get();

علی مهدوی برنامه نویس ارشد وب
0