php - collection - ¿Puedo hacer Model-> where(''id'', ARRAY) multiple where conditions?
where array laravel (4)
El título lo dice todo.
Entiendo que puedo hacer esto:
DB:table(''items'')->where(''something'', ''value'')->get()
Pero lo que quiero comprobar es la condición de donde hay varios valores como:
DB:table(''items'')->where(''something'', ''array_of_value'')->get()
¿Hay una manera fácil de hacer esto?
Hay whereIn()
:
$items = DB::table(''items'')->whereIn(''id'', [1, 2, 3])->get();
Podría usar una de las siguientes soluciones:
$items = Item::whereIn(''id'', [1,2,..])->get();
o:
$items = DB::table(''items'')->whereIn(''id'',[1,2,..])->get();
Puede usar whereIn
que acepta una matriz como segundo parámetro.
DB:table(''table'')
->whereIn(''column'', [value, value, value])
->get()
Se puede encadenar en múltiples ocasiones.
DB:table(''table'')->where(''column'', ''operator'', ''value'')
->where(''column'', ''operator'', ''value'')
->where(''column'', ''operator'', ''value'')
->get();
Esto utilizará el operador AND
. Si lo necesitas OR
puedes usar orWhere
método orWhere
.
Para avanzado where
declaraciones
DB::table(''table'')
->where(''column'', ''operator'', ''value'')
->orWhere(function($query)
{
$query->where(''column'', ''operator'', ''value'')
->where(''column'', ''operator'', ''value'');
})
->get();
Si lo necesitas por varios params:
$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();