Laravel Relationsship laod

时间:2016-05-11 12:35:13

标签: php laravel laravel-5

        $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元素,但我得到了所有元素。

1 个答案:

答案 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();