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

get tasks where all task tags is in path tags

我的代码 returns tasks 其中 任务标签 名称 ->(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()

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

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