【发布时间】:2018-05-05 10:33:03
【问题描述】:
我有与此类似的 DB 表 urls
id | user_id | name
----------------------------
1 | 56 | John
2 | 25 | Carry
3 | 56 | Jim
4 | 12 | Jolana
5 | 12 | Ava
我需要做的是选择user_id 的第一次出现 的行,按id 在 DESC 中排序。在这种情况下,这意味着选择 ID 为 5、3 和 2 的行。
这是否可以使用 Eloquent 以某种方式实现,或者如果不能,则使用纯 SQL?我可以想象为此编写一个脚本,但我想让它与一个查询一起工作。
【问题讨论】:
-
你尝试过什么?你有模特吗,或者你想进入raw sql(我个人不会像下面的两个答案那样赞同)。如果您有一个名为
Url的模型,大致可以调用以下Url:all()->orderByDesc('id')->groupBy('user_id')。但是请注意config perks。
标签: php mysql sql laravel eloquent