method collection array all php laravel laravel-4 laravel-5 where

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();