- 基本的な使用方法:
$ids = [1, 2, 3];
$users = User::whereIn('id', $ids)->get();
上記の例では、User
モデルのid
カラムが$ids
配列内のいずれかの値と一致するユーザーレコードを取得しています。
- クエリビルダを使用した動的な「where in」クエリ:
$column = 'status';
$values = ['active', 'pending'];
$records = DB::table('table_name')->whereIn($column, $values)->get();
上記の例では、テーブル名を指定してクエリビルダを使用しています。$column
で指定したカラムの値が$values
配列内のいずれかの値と一致するレコードを取得しています。
- サブクエリを使用した「where in」クエリ:
$subQuery = DB::table('sub_table')->select('id')->where('condition', 'value');
$records = DB::table('main_table')->whereIn('id', $subQuery)->get();
上記の例では、サブクエリを使用して別のテーブルから一連のIDを取得し、それらのIDがメインテーブルのid
カラムと一致するレコードを取得しています。
これらはいくつかの一般的な「where in」クエリの使用例です。しかし、LaravelではさまざまなクエリビルダのメソッドやEloquent ORMのリレーションシップを活用することで、さらに複雑なクエリを構築することもできます。必要に応じて、ドキュメントや公式リファレンスを参照してください。