gpt4 book ai didi

php - 需要获取任务标签在 $TagArray 中的任务

转载 作者:行者123 更新时间:2023-11-29 02:40:39 26 4
gpt4 key购买 nike

大家好,我需要获取所有任务标签名称都在 $TagArray 中的任务。我尝试使用我的代码,但当任何任务标签位于 $TagArray 中时,它会返回 Tasks。

我的代码

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

此查询检查 Task->Tags 名称在 $TagArray 但问题是当 Task->Tags(tasktags) 名称之一在 $ 中时它返回任务标记数组当所有 Task->Tags (tasktags) 名称都在 $tasktags 中时,我需要返回 Task。

$query->whereIn('name',$TagArray);

最佳答案

我认为您最好使用 Has Many Through。

 public function tags()
{
return $this->hasManyThrough('Path', 'PathTag', 'pathtag_id', 'tag_id');
}

你想为这个关系获取给定路径的标签,所以:

$path= Path::first();
$path->load(['tags' => function ($q) use ($TagArray) {
$q->whereIn('name',$TagArray);
}]);


$path->tags;

关于php - 需要获取任务标签在 $TagArray 中的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52918026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com