![](/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.