cakephp3 - Establecer el índice con ''id'' en el método Find(''todo'') de CakePHP
cakephp tutorial (2)
No conozco ninguna forma de tener tu identificación como clave en la matriz, y ni siquiera creo que sea posible con Cake sin hacer algo "gracioso".
Pero si hace un buscar todo, tendría que asumir que va a procesar los datos y hacer un ciclo en algún momento, en ese momento podría tener algo como:
foreach ($wijkens as $wijken) {
[...]do the general things here[...]
if ($wijken[''Wijken''][''id''] == $url_id) {
[...]do the thing you want to specifically do to id = 1 here[...]
}
}
Por otro lado, entiendo que no desea ninguna consulta adicional, aunque me parece que es un costo de transacción relativamente menor para mí, y todavía es lo que preferiría.
Tengo una matriz con datos, todos con su propia identificación única. Estoy utilizando el método de búsqueda de ORM (''todo'') y la matriz resultante se ve algo así:
Array
(
[0] => Array
(
[Wijken] => Array
(
[id] => 1
[name] => Naam
[lat] => 13.37
[lon] => 13.37
[zoom] => 14
)
)
)
Desde mi enrutamiento, recibo una identificación única. Lo que quiero es reutilizar mi matriz y obtener los datos de, digamos, ID 1.
Entonces, lo que necesito es que los índices de mi matriz asociativa (devuelto por find ('''')) se establezcan con el id del objeto "Wijken".
Expliqué todo, solo en caso de que las personas tuvieran un enfoque diferente. No obstante, no es aceptable consultar la base de datos nuevamente con la ID de param.
prueba Set :: combine
Para mantener la estructura find (''todo'') (del comentario icc97):
$idsAsIndexes = Set::combine($wijkens, ''{n}.Wijken.id'', ''{n}'');
Alternativamente, también puede extraer un único modelo:
$idsAsIndexes = Set::combine($wijkens, ''{n}.Wijken.id'', ''{n}.Wijken'');
espero que sea eso lo que estás buscando :)