CakePHP afterFind () aiuto
-
26-09-2019 - |
Domanda
ho un Risultato di ricerca come questo in una matrice
Array
(
[0] => Array
(
[StatusMessage] => Array
(
[id] => 1
[pid] => 0
[message] => First Status Message
[item_id] => 1
[commenters_item_id] => 2
[created] => 2010-10-26 02:09:05
[modified] => 2010-10-26 02:09:09
)
[Item] => Array
(
[id] => 1
[module_id] => 1
[item_id] => 1
[User] => Array
(
[id] => 1
[first_name] => Harsha
[last_name] => Vantagudi
[username] => harshamv
[file] =>
)
)
[StatusMessageReply] => Array
(
[0] => Array
(
[id] => 2
[pid] => 1
[message] => Second Status Message
[item_id] => 1
[commenters_item_id] => 1
[created] => 2010-10-26 02:09:05
[modified] => 2010-10-26 02:09:09
[Item] => Array
(
[id] => 1
[module_id] => 1
[item_id] => 1
[User] => Array
(
[id] => 1
[first_name] => Harsha
[last_name] => Vantagudi
[username] => harshamv
[file] =>
)
)
)
)
)
)
I Wanna modificarlo per farlo sembrare un po 'più bella, eliminando certe cose nella matrice
Array
(
[0] => Array
(
[StatusMessage] => Array
(
[id] => 1
[pid] => 0
[message] => First Status Message
[item_id] => 1
[commenters_item_id] => 2
[created] => 2010-10-26 02:09:05
[modified] => 2010-10-26 02:09:09
)
[User] => Array
(
[id] => 1
[first_name] => Harsha
[last_name] => Vantagudi
[username] => harshamv
[file] =>
)
[StatusMessageReply] => Array
(
[0] => Array
(
[id] => 2
[pid] => 1
[message] => Second Status Message
[item_id] => 1
[commenters_item_id] => 1
[created] => 2010-10-26 02:09:05
[modified] => 2010-10-26 02:09:09
[User] => Array
(
[id] => 1
[first_name] => Harsha
[last_name] => Vantagudi
[username] => harshamv
[file] =>
)
)
)
)
)
Bascially rimuovere la parte voce e spostare l'utente di un livello
Soluzione
direi non . Nessuno sta andando a vedere o preoccuparsi di questo, tranne voi. E non c'è alcun reale beneficio per cambiare il formato interno dei dati del modello. Al contrario, esso può solo causare problemi. Mantenere i vostri formati di dati interni coerenti!
Sia che accedere alle informazioni utente utilizzando $statusMessage['Item']['User']
o $statusMessage['User']
realtà non fa che molta differenza. Se si insiste su di esso, però, io suggerisco di uniscono la tabella users
direttamente al tavolo status_messages
tramite la tabella items
nella query di rinunciare al passaggio aggiuntivo di andare a prendere l'elemento e torta sarà automaticamente formattare i risultati nel modo desiderato.
Altri suggerimenti
Se si desidera limitare le tabelle e campi o associati che vengono restituiti si dovrebbe guardare Containable
. Quando si dispone di un grande mucchio di non interessanti restituito che non è necessario, si può facilitare l'elaborazione di un po 'da 'contenente' a ciò che si desidera.
Ma, come dice Deceze, non assetto puramente estetica.