updateorcreate update not last español create colecciones php laravel eloquent query-builder laravel-5.2

php - update - pluck laravel



Laravel 5.2: el método pluck() devuelve una matriz (4)

En Laravel 5.1+, puede usar el valor () en lugar de arrancar.

Para obtener la primera ocurrencia, puede usar

DB::table(''users'')->value(''name'');

o usar,

DB::table(''users'')->where(''id'', 1)->pluck(''name'')->first();

Estoy tratando de actualizar mi proyecto L5.1 -> L5.2. En la guía de actualización hay una cosa que no está clara para mí:

El método de lists en los objetos Colección, Generador de consultas y Generador de consultas elocuentes ha cambiado de nombre para pluck . La firma del método sigue siendo la misma.

Está bien, cambiar el nombre refactoting de lists() a pluck() no es un problema. Pero, ¿qué pasa con el útil método pluck() que estaba en L5.0 y L5.1?

De la documentación 5.0 :

Recuperando una sola columna de una fila

$name = DB::table(''users'')->where(''name'', ''John'')->pluck(''name'');

¿Cuál es la alternativa para el viejo método pluck() en L5.2?

ACTUALIZAR:

Ejemplo:

var_dump(DB::table(''users'')->where(''id'', 1)->pluck(''id''));

L5.1:

// int(1)

L5.2:

// array(1) { [0]=> int(1) }


En el ejemplo original, ¿por qué no usar el método select () en su consulta de base de datos?

$name = DB::table(''users'')->where(''name'', ''John'')->select("id");

Esto será más rápido que usar un marco PHP, ya que utilizará la consulta SQL para hacer la selección de filas por usted. Para las colecciones ordinarias, no creo que esto aplique, pero como estás usando una base de datos ...

Larvel 5.3: Especificar una cláusula de selección


La alternativa actual para pluck() es value() .


laravel pluck devuelve una matriz

si su consulta es:

$name = DB::table(''users'')->where(''name'', ''John'')->pluck(''name'');

entonces la matriz es así (la clave es el índice del elemento. valor incrementado automáticamente):

[ 1 => "name1", 2 => "name2", . . . 100 => "name100" ]

pero si te gusta esto:

$name = DB::table(''users'')->where(''name'', ''John'')->pluck(''name'',''id'');

entonces la clave es el índice real en la base de datos.

key||value [ 1 => "name1", 2 => "name2", . . . 100 => "name100" ]

Puede establecer cualquier valor como clave.