首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有什么办法能在laravel获得多个shipment_ids的最新记录?

有什么办法能在laravel获得多个shipment_ids的最新记录?
EN

Stack Overflow用户
提问于 2022-04-06 17:24:29
回答 2查看 19关注 0票数 0

我需要以下数据中的所有更新行,我的表中有一个重复的托运id,从这个开始,我只需要更新每个装运id的行。

在我的表中有多个装运In,它们都是重复的,如下所示:

代码语言:javascript
复制
id    date         shipment_id
1  2020-09-09        12
2  2020-10-05        12
3  2020-10-23        12
4  2020-09-09        13
5  2020-10-05        13
6  2020-10-23        13

产出应是:

代码语言:javascript
复制
id    date         shipment_id
3  2020-10-23        12
6  2020-10-23        13

我需要每一个shipment_id的最新记录

这是原始数据

EN

回答 2

Stack Overflow用户

发布于 2022-04-06 18:00:15

您可以这样做(使用最大值查询的组)

代码语言:javascript
复制
   $data = Shipments::select('id', 'shipment_id', DB::raw('MAX(date) as latest_date'))
                            ->where('is_active', 1)
                            ->groupBy('shipment_id')
                            ->get();
   
    dd($data);

参考文献:https://www.itsolutionstuff.com/post/laravel-group-by-with-max-value-query-exampleexample.html

票数 0
EN

Stack Overflow用户

发布于 2022-04-06 18:00:28

你应该看看通过雄辩的ORM查询。

查询应该如下所示:

代码语言:javascript
复制
Shipments::orderBy('id', 'desc') ->groupBy('shipment_id') ->get();

为了加快查询速度,我们可以利用您的id(increment_id),因此最大的id (具有特定的shipement_id )总是最新的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71771154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档