laravel - 使用 eloquent 获取特定列的最新数据
问题描述
如何获取每个特定 user_id 的最新/最新数据。
提交表
ID | 用户身份 | 地位 | created_at | 更新时间 |
---|---|---|---|---|
1 | 3 | 重做 | 某个日期时间 | 某个日期时间 =>dont want this |
2 | 3 | 重做 | 某个日期时间 | 某个日期时间 |
3 | 4 | 重做 | 某个日期时间 | 某个日期时间 |
4 | 5 | 重做 | 某个日期时间 | 某个日期时间 |
ID 2 不是冗余。我正在跟踪记录。我需要获取 id 2,3,4。我试过使用
Submission::where('status','redo')->distinct('user_id')->get();
但它返回所有值
更新
供参考,这里是表的真实结构
如您所见,user_id 78 有 2 个重做,即 89 和 90。我试图获得最新/最后一个,即 90。
解决方案
您可以使用子查询尝试此操作:
Submission::from(Submission::orderBy('id', 'desc'), 't')
->groupBy('user_id')
->get();
可能必须进行调整,未经测试,但想法是子查询将获得排序,然后主查询将进行分组。
推荐阅读
- git - Brew Tap:身份验证失败
- arcgis - 边界框坐标
- c++ - 为什么我会为 SPOJ 上的 GSS1 问题的此代码获取 TLE?(使用段树)
- android - 您的应用未使用 AndroidX - Flutter 不允许我生成 apk
- xaml - 具有 Materialdesigninxaml 样式的按钮的中心边距定义
- python - 计算数据框中的日期列
- io - Ada.Text_IO.End_Of_File 缓冲副作用
- c# - 抄送电子邮件没有收到c#
- c++ - 为什么我的多线程并行求和函数的向量受限于线程数?
- python - 在 postgres 中将列数据类型从 VARCHAR 转换为 ARRAY(使用 Psycopg2)