php - español - pluck laravel
ORM elocuente laravel 5 Obtener matriz de identificadores (4)
Desde una
Collection
, otra forma de hacerlo sería:
$collection->pluck('id')->toArray()
Esto devolverá una matriz indexada, perfectamente utilizable por laravel en una consulta
whereIn()
, por ejemplo.
Estoy usando Eloquent ORM laravel 5.1, quiero devolver una matriz de identificadores mayores que 0, mi modelo llamado
test
.
Yo he tratado :
$test=test::select('id')->where('id' ,'>' ,0)->get()->toarray();
Vuelve:
Array ( [0] => Array ( [id] => 1 ) [1] => Array ( [id] => 2 ) )
Pero quiero que el resultado esté en una matriz simple como:
Array ( 1,2 )
La respuesta correcta a eso es la
lists
métodos, es muy simple así:
$test=test::select('id')->where('id' ,'>' ,0)->lists('id');
¡Saludos!
Puede usar el método
all()
lugar del método
toArray()
(ver más:
documentación de laravel
):
test::where('id' ,'>' ,0)->pluck('id')->all(); //returns array
Si necesita una
string
, puede usarla sin el
toArray()
adjunto
toArray()
:
test::where('id' ,'>' ,0)->pluck('id'); //returns string
También puede usar el método all () para obtener una matriz de atributos seleccionados.
$test=test::select('id')->where('id' ,'>' ,0)->all();
Saludos