タイトルはそれをすべて言います。
私はこれを行うことができます:
DB::table('items')->where('something', 'value')->get()
しかし、次のような複数の値のwhere条件を確認したいのは:
DB::table('items')->where('something', 'array_of_value')->get()
これを行う簡単な方法はありますか?
whereIn()
があります:
$items = DB::table('items')->whereIn('id', [1, 2, 3])->get();
いくつかのパラメーターで必要な場合:
$ids = [1,2,3,4];
$not_ids = [5,6,7,8];
DB::table('table')->whereIn('id', $ids)
->whereNotIn('id', $not_ids)
->where('status', 1)
->get();
以下のソリューションのいずれかを使用できます。
$items = Item::whereIn('id', [1,2,..])->get();
または:
$items = DB::table('items')->whereIn('id',[1,2,..])->get();
配列を2番目のパラメーターとして受け入れるwhereIn
を使用できます。
DB:table('table')
->whereIn('column', [value, value, value])
->get()
どこでも複数回チェーンできます。
DB:table('table')->where('column', 'operator', 'value')
->where('column', 'operator', 'value')
->where('column', 'operator', 'value')
->get();
これはAND
演算子を使用します。 OR
が必要な場合は、orWhere
メソッドを使用できます。
高度なwhere
ステートメントの場合
DB::table('table')
->where('column', 'operator', 'value')
->orWhere(function($query)
{
$query->where('column', 'operator', 'value')
->where('column', 'operator', 'value');
})
->get();