Laravel Eloquent: retornar el id o PK como clave/key del campo en un array

- Andrés Cruz

In english

Laravel Eloquent: retornar el id o PK como clave/key del campo en un array

Muchas veces necesitamos que en el array de una consulta devuelta por la base de datos en Laravel, coloque un ID personalizado como la clave o key de dicho array; generalmente coloca es un número incremental, pero, podemos personalizar esta valor; para eso, tenemos que emplear la función keyBy que tenemos de gratis al emplear Eloquent sobre una consulta y con esto indicamos el campo que queremos personalizar como key del array devuelto; un ejemplo:

Model::all()->keyBy('id');

Y con esto tenemos:

 #items: array:2 [
    1 => App\Models\Category {#1250 }
    2 => App\Models\Category {#1251 }
  ]

Fijate que las keys del array, corresponden a la PK, es decir, al campo llamado id

En vez de:

 #items: array:2 [
    0 => App\Models\Category {#1250 }
    1 => App\Models\Category {#1251 }
  ]

Que sería el comportamiento normal.

Acepto recibir anuncios de interes sobre este Blog.

Podemos personalizar el valor del array devuelto en un listado en Laravel mediante la funcion de keyBy.

- Andrés Cruz

In english