我试图搜索属于许多人的关系。
我有链接和链接标记,链接可以有很多链接标记。
所以我尝试做的是搜索两个标签,但我只希望它返回带有BOTH标签的链接。到目前为止,我有这个:
$links = Link::whereHas('linktags', function($q) use($query, $where) {
$q->whereIn('name', $query);
})->with('linktags')->get();
这会搜索关系,并返回一个结果,但它会匹配任何标记,而不是它们的匹配。
我查看了文档,但我找不到这样做的方法。有什么想法吗?
答案 0 :(得分:0)
我不完全确定你在$ query和$ where var中的内容,但根据4.2 docs你可以添加简单的" wheres"你的关闭,就像这样:
$links = Link::whereHas('linktags', function($q) use($query, $where, $tag1, $tag2) {
$q->where('name', $tag1);
$q->where('name', $tag2);
})->with('linktags')->get();