получить задачи, где все теги задач находятся в тегах пути - PullRequest
0 голосов
/ 23 октября 2018

Мой код возвращает tasks, где один из Тегов задач name ->(tasktags) находится в тегах пути -> $ TagArray.

Я хочу получить Tasks, где все Теги задачи (tasktags) находятся в Теги пути массив ->$TagArray.

$posts4 = Path::with(['pathtags' => function ($q) use ($TagArray) {
    $q->with(['Tasks'=>function($q) use ($TagArray) { 
        $q->has('tasktags', '=' , 2)->whereHas('tasktags', function ($query) use 
            ($TagArray) {
            $query->whereIn('name',$TagArray);

        })->with('tasktags');
    }]);
}])->first()

1 Ответ

0 голосов
/ 23 октября 2018

Заменить whereHas на whereDoesntHave и whereIn на whereNotIn примерно так:

whereDoesntHave('tasktags', function ($query) use 
    ($TagArray) {
        $query->whereNotIn('name',$TagArray);
 })
...