我有3个表与多对多的关系。
1.接触
1.标签
- 联系我们
- 联系人ID
- tag_id在此输入代码
以下是Model的外观:
class Contact extends Model{
public function tags()
{
return $this->belongsToMany('App\Models\Tag', 'contact_tags', 'contact_id',
'tag_id');
}
}
字符串
我想只检索同时具有“销售经理”和“产品经理”标签的联系人。如何操作?
这是我的疑问。
$tags = ['Sales Manager','Product Manager'];
Contact::whereHas('tags', function($query) use ($tags){
$query->whereIn($tags);
})
型
它返回的联系人的标签要么在'销售经理'或'产品经理。我想做'与'条件。我尝试过这种方式,但它返回空数组。
Contact::whereHas('tags', function ($query) use ($tags) {
$query->where('tags.name', $tags[0]);
for ($i = 1; $i < count($tags); $i++) {
$query->where('tags.name', $tags[$i]);
}
});
型
1条答案
按热度按时间bfnvny8b1#
我认为你需要做两个存在检查,因为你要检查两个东西的存在:
字符串