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.

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.