где не работает со значением NULL - PullRequest
0 голосов
/ 24 мая 2018

в laravel 5.5, где не работает (), где значение равно NULL.мои отношения с другой моделью - один ко многим, и я хочу выбрать значения из модели, где значение равно NULL.Но вместо того, чтобы возвращать конкретные значения, он возвращает все значение в результате

 plans = Plan::with('objectives')->with('objectives.keyResults')
           ->whereHas('objectives', function($query) {
               $query->whereNull('entity_id');
               $query->whereNull('quarter_id');
       })->where('companyKey', Auth::user()->companyKey)->get();

1 Ответ

0 голосов
/ 25 мая 2018

Вы должны указать ограничение дважды:

$plans = Plan::with(['objectives' => function($query) {
        $query->whereNull('entity_id');
        $query->whereNull('quarter_id');
    }, 'objectives.keyResults'])
    ->whereHas('objectives', function($query) {
        $query->whereNull('entity_id');
        $query->whereNull('quarter_id');
    })->where('companyKey', Auth::user()->companyKey)
    ->get();
...