首页 > 解决方案 > Eloquent:如何与 Where 分组

问题描述

我有以下数据

id - code - validity - created_at
1  - 1001 - 0        - 2019-01-29 09:00:00
2  - 1001 - 1        - 2019-01-29 09:30:00
3  - 1002 - 0        - 2019-01-29 09:40:00
4  - 1002 - 0        - 2019-01-29 10:00:00
5  - 1002 - 0        - 2019-01-29 10:10:00
6  - 1003 - 0        - 2019-01-29 10:15:00
7  - 1003 - 1        - 2019-01-29 10:15:00

我的条件是获取项目(代码)有效性全为零的记录(或失败记录)

我想得到

3  - 1002 - 0        - 2019-01-29 09:40:00
4  - 1002 - 0        - 2019-01-29 10:00:00
5  - 1002 - 0        - 2019-01-29 10:10:00

最后得到最新记录

5  - 1002 - 0        - 2019-01-29 10:10:00

我试过了。

$data = Table::groupBy('code')->where('validty',0)->get();
dd($data);

我得到所有记录为0;

标签: laravel-5eloquent

解决方案


这对我有用。

$data = Table::groupBy('code')->havingRaw('SUM(validty) = 0')->pluck('code');

推荐阅读