![](/img/trans.png)
[英]Laravel 5.6 get all rows as arrays of values using Eloquent ORM
[英]Get latest values in GROUP BY using Laravel Eloquent ORM
我试图了解Laravel的口才ORM是如何工作的,并且正在查看以下MySQL查询:
SELECT id, name, date FROM tablename GROUP BY name ORDER BY date
使用GROUP BY
总是返回name
的最早值。 有没有办法返回最新值呢?
尝试以下代码,
Tablename::select('id', 'name', DB::raw('max(date) as latest_date'))
->groupBy('name')
->orderBy('latest_date')
->get()
这是一个有效的SQL查询,只能通过a.id = b.id
获得唯一的最新结果-如果您想使用唯一的名称,则它将为a.name = b.name
。
SELECT DISTINCT a.*
FROM tablename a
LEFT JOIN tablename b ON a.id = b.id
AND a.date < b.date
WHERE b.date IS NULL
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.