
Podemos personalizar el valor del array devuelto en un listado en Laravel mediante la funcion de keyBy.
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.

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