Как в Laravel задать сортировку, чтобы заданный id шёл первым, а затем остальные по убыванию?
Код выводит одну статью на странице с пагинацией. Страницы (id) = 5, 4, 3, 2, 1.
$first = 3;
return Article::query()
->orderByDesc('id')
->paginate(1);
Как в запросе поменять порядок сортировки так, чтобы сначала отобразилась запись с id = 3, а уже затем по убыванию, минуя повторное 3? Т.е. записи должны выводиться в таком порядке: 3, 5, 4, 2, 1.
Ответы (1 шт):
Автор решения: Gromfer
→ Ссылка
$firstElem = collect(DB::table('table')->find($first));
$another = collect(BD::table('table')->where('id', '!=', $first)->orderByDesc('id')->get());
$firstElem = $firstElem->merge($another); // соединяет