【发布时间】:2022-01-28 12:06:29
【问题描述】:
我在 laravel 8 中有这个查询:
DB::table('contracts')
->leftJoin('documents', 'contracts.id', '=', 'documents.contract_id')
->whereNotNull('expiration_date')
->whereMonth('expiration_date', '01')
->whereYear('expiration_date', '2022')
->select('documents.contract_id', 'documents.is_contract', 'documents.expiration_date')
->get();
合同 - 文档(一对多)
expiration_date 在 Documents 表中并且可以为空。
如果合同有 2 个填写了 expire_date 的文档,那么它将返回两个条目(对于同一个合同)。
我想从文档中获取过期日期的最后一个条目(合同只有一个条目)
例如:如果合同有 2 个设置了 expire_date 的文档...我只想获取该合同的最后一个 expiration_date 值。
我该怎么做?
【问题讨论】:
-
我不是专家,但
SELECT MAX(expiration_date) GROUP BY contract似乎是一个好的开始。