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





laravel-5.1