私は、複数の訪問者を持つテーブルを持っています。私の結果リストには、各訪問者の最終訪問のみが表示されます。Eloquent Laravelで2つのクエリをネストする方法
の表は、次のようになります。
id | created_at | descr | website | source
------------------------------------------
2 | 2017_12_22 | john | john1.com | a
3 | 2017_12_23 | marc | ssdff.com | b
4 | 2017_12_24 | john | john1.com | c
5 | 2017_12_24 | tina | def.com | b
6 | 2017_12_25 | stef | abc.com | a
7 | 2017_12_26 | john | john2.com | c
私は
->orderBy('visitors.created_at', 'desc')
->groupBy('visitors.descr')
を行う場合のみ、各訪問者が一度示されているように、結果のリストが正しいです。しかし、私は訪問者の最新の出現を必要とし、結果リストは最初の出現を示します。だからではなく、ID 2の私はID 7
は、次のクエリは、その問題を解決してほしい:
select *
from visitors as v
INNER JOIN (select descr , MAX(created_at) as max_created
from visitors as v
group by descr) AS M
where v.descr = M.descr AND v.created_at = M.max_created
ORDER BY created_at DESC
誰かが雄弁にこれを取得したり、別の方向に私を得るのを助けるだろうか?
動作していない(反転している)Eloquentクエリを投稿できますか? – Laerte