Laravel
Laravelで複雑な条件検索、A and (B or C)を取得する方法
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
PR
Laravel で複雑な条件検索、A and (B or C)を取得する方法についてまとめました。
さいしょに
Laravel では、where や、orWhere を使うことによって条件検索を実装することが可能ですが、
今回の記事では、
A かつ (B または C)のユーザーを取得する方法について書いていきます。
具体的には、
A:メール認証している
B:カテゴリー1に属している
C:カテゴリー5に属している
このユーザーの取得をしていこうと思います。
「メール認証していて」
「カテゴリー1か5」
のユーザーを取得するということです。
事前に知っておきたい内容
Laravel で where 複数で AND 検索をする方法
Laravel で orWhere を使って OR 検索をする方法
結論
コントローラー
$users = User::whereNotNull('email_verified_at')
->where(function($query){
$query->where('category_id',1)
->orWhere('category_id',5);
})
->get();
解説
メール認証しているユーザーだけ取得する where 条件を書く
->whereNotNull('email_verified_at')