Как получить только последнюю запись обновления из таблицы данных в Laravel 5.6? - PullRequest
0 голосов
/ 10 ноября 2018

В качестве проектов, подобных этой структуре, у меня есть следующее имя таблицы,

id    name    adtype created_at    updated_at
1     gobba     1      2018-02-25    2018-02-25
2     manna     0      2018-04-25    2018-04-25
3     alaya     1      2017-12-28    2017-12-28

Мне нужно получить только один результат, связанный с последней обновленной записью и типом объявления == 1, я кодирую следующий контроллер, для этого

 public function showad()
     {
 $projects = Vehicle::with('uploads')
            ->where('adtype','=',1)
            ->latest('updated_at');
return view('vehicles.slider')->withProjects($projects);

но это работает, но не фильтрует последние обновленные записи. как можно это исправить?

1 Ответ

0 голосов
/ 10 ноября 2018

Попробуйте использовать ORDER BY и LIMIT:

$projects = Vehicle::with('uploads')
    ->where('adtype', '=', 1)
    ->orderBy('updated_at', 'desc')
    ->take(1)
    ->get();

Это должно соответствовать следующему необработанному MySQL-запросу:

SELECT *
FROM uploads
WHERE adtype = 1
ORDER BY updated_at DESC
LIMIT 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...