Как получить самую старую запись из таблицы используя Eloquent Laravel
Доброго времени суток. Это статья из серии фишки Laravel. Так в прошлой статье мы с вами получили самую последнюю запись из таблицы, используя метод latest. А в этой статье мы рассмотрим, как быстро получить самую старую запись из таблицы с помощью Eloquent. Да можно получить все значения потом сделать сортировку по дате добавления. Но есть способ проще, точнее способ тот же, но использовать специальный метод модели. Это ведь Laravel.
И так у нас есть таблица с данными.
И наша задача получить самую старую запись из таблицы. Примером мы будем пользоваться из прошлой статьи.
У нас есть контроллер OrderController, в котором есть несколько методов: index – выводит все записи, copy – копирует запись (этот метод мы создавали в статье «Laravel: как скопировать строку из таблицы используя Eloquent») и метод last – который выводит последнюю запись из таблицы. Давайте добавим еще один метод oldest, который будет выводить самую старую запись из таблицы.
public function oldest() { $order = \App\Order::oldest()->first(); return view('last',['order' => $order]); }
Тут мы используем метод Eloquent oldest, который сортирует данные по полю created_at и передаем результат во вьюшку last, которую использовали в прошлой статье.
Теперь давайте добавим роут, для этого откроем файл routes/web.php и добавим в него следующий код:
Route::get('oldest', 'OrderController@oldest')->name('oldest');
Все теперь можно проверить.
Мы с вами получили самую старую запись.
Заключение.
Мы с вами вывели самую старую запись из таблицы используя метод Eloquent – oldest(), который сортирует записи по полю created_at. И самое интересное, этот метод мы можем использовать в отношениях.