$jobs = EventJob::with(['applications' => function ($query) {
$query->where('accepted', false);
}, 'job' => function($query) {
$query->where('division_id', 1);
}, 'event' => function($query) use ($date) {
$query->where('date', '>=', $date);
}])->get();
彻底检查这个问题。
我不只是在$ query中条件为true的EventJob元素,但我得到了所有元素。
答案 0 :(得分:1)
似乎您正在寻找的功能是whereHas
,它是documented here.
您的代码将是:
$jobs = EventJob::whereHas('applications', function ($query) {
$query->where('accepted', false);
})->whereHas('job', function($query) {
$query->where('division_id', 1);
})->wherehas('event', function($query) use ($date) {
$query->where('date', '>=', $date);
})->get();