実現したいこと
Laravelでwherehasメソッドでタグを絞り込んで記事を取得しました。
wherehasメソッド内のwhereIn句でtag_idが1,3のものを絞り込むと、記事idが1,3,4の記事が取得されました。
しかし、記事のタグのidが1,3のものだけを取得したい場合(以下のテーブルの場合、記事idが3,4の記事)はどうすれば良いのでしょうか。
前提
articlesテーブル
id | name |
---|---|
1 | a |
2 | b |
3 | c |
4 | d |
中間テーブル
article_id | tag_id |
---|---|
1 | 2 |
1 | 3 |
2 | 2 |
3 | 1 |
3 | 3 |
4 | 1 |
tagsテーブル
id | name |
---|---|
1 | A |
2 | B |
3 | C |
該当のソースコード
php
1// $tags = [1,3] 2$query->wherehas('tags',function ($q) use ($tags) { 3 $q->whereIn('id', $tags); 4});
結果
id(article) |
---|
1 |
3 |
4 |

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。