获取所有任务标签都在路径标签中的任务

时间:2018-10-23 11:33:03

标签: laravel laravel-5 eloquent laravel-5.2 laravel-5.1

我的代码返回tasks,其中任务标签名称->(tasktags)之一位于Path Tags-> $ 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 :(得分:1)

whereHas替换为whereDoesntHave,将whereIn替换为whereNotIn,如下所示:

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