Laravel Eloquent: выберите строки с максимальным значением созданного_at
В Laravel Eloquent вы можете столкнуться со сценариями, когда вам нужно выбрать все строки с максимальным значением Значение созданного_at для каждого уникального идентификатора продавца в таблице. Вот как этого можно добиться:
Использование необработанного SQL-запроса
Один из подходов – использование необработанного SQL-запроса, который может быть более эффективным в определенных обстоятельствах:
select s.*
from snapshot s
left join snapshot s1 on s.seller_id = s1.seller_id
and s.created_at Использование построителя запросов
В качестве альтернативы вы можете использовать построитель запросов Laravel для более объектно-ориентированного подхода:
DB::table('snapshot as s')
->select('s.*')
->leftJoin('snapshot as s1', function ($join) {
$join->on('s.seller_id', '=', 's1.seller_id')
->whereRaw('s.created_at whereNull('s1.seller_id')
->get();
Оба метода вернут коллекцию объектов, представляющих последние строки для каждого уникального идентификатора продавца в таблице снимков.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3