我有一个像这样的SQL数据库
产品:
-id
-name
标签:
-tag_id
-tag_name
产品标签:
-product_id
-tag_id
我需要选择所有与名称相关的标签,例如%partial_tag_name%
我知道我必须做两个关节,但是我应该如何提出这个要求? 谢谢
编辑:感谢您的回复,我可以像这样构建请求:
$results = Products::select(['product.*'])
->distinct()
->join('ProductTags', 'ProductTags.product_id', '=', products.id')
->join('tags', 'tags.tag_id', '=', 'ProductTags.tag_id')
->where('tags.tag_name', 'like', "%{$query}%")
->get();
再次非常感谢。
答案 0 :(得分:0)
您可以尝试
Select p.name from Tags t
JOIN ProductTags pt ON pt.tag_id = t.tag_id
JOIN Products p on p.id = pt.product_id
WHERE tag_name like %tag_name%;
答案 1 :(得分:0)
#.#,,"M"