Красноречивый: Как Группировать с Где - PullRequest
0 голосов
/ 07 января 2020

У меня есть следующие данные

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;

1 Ответ

0 голосов
/ 09 января 2020

Вот что у меня сработало.

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