【发布时间】:2021-11-06 12:11:54
【问题描述】:
我有 2 个包含以下示例数据的表
课程
| id | cl1 |
|---|---|
| 1 | a |
| 2 | b |
优惠
| id | course_id | year |
|---|---|---|
| 1 | 1 | 2019 |
| 2 | 1 | 2020 |
| 3 | 2 | 2019 |
在各自的模型中,一对多关系被正常定义(工作正常)
我想仅通过所选关系选择具有特定年份价值的课程。
当我尝试以下代码时,它给了我正确的课程表行,但返回关系中 offer 表的 id 1 和 2。
Course::with(['offer'])
->whereHas('offer', function ($q) {
$q->where('year',2020);
})
->get();
我怎样才能只获得选定的关系(对于这个例子只有 id 2)。
fyi:由于其他需要,我不能使用 Offer::with(['course'])
【问题讨论】: