CakePHP afterfind () Hilfe
-
26-09-2019 - |
Frage
ich habe ein Suchergebnis, wie dies in einem Array
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] =>
)
)
)
)
)
)
Ich will es ändern, um es durch das Entfernen bestimmte Dinge in dem Array schaut ein wenig schöner zu machen
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 den Item-Teil entfernen und verschieben, um den Benutzer auf ein Niveau
Lösung
Ich würde sagen, nicht . Niemand wird darüber außer Ihnen sehen oder kümmern. Und es gibt keinen wirklichen Nutzen das interne Format der Modelldaten zu ändern. Im Gegenteil, es kann nur zu Problemen führen. Halten Sie Ihre internen Datenformate konsistent!
Ob Sie Zugriff auf die Benutzerinformationen mit $statusMessage['Item']['User']
oder $statusMessage['User']
wirklich nicht machen, dass viel Unterschied. Wenn Sie jedoch darauf bestehen, würde ich vorschlagen, dass Sie beitreten die users
Tabelle über die status_messages
Tabelle in der Abfrage direkt an den items
Tabelle den zusätzlichen Schritt des Abrufens der Artikel verzichten und Kuchen wird automatisch die Ergebnisse, die die Art und Weise zu formatieren Sie wollen.
Andere Tipps
Wenn Sie die dazugehörigen Tabellen und Felder oder einschränken möchten, die zurückgegeben werden Sie bei Containable
aussehen sollte. Wenn Sie einen großen Haufen uninteressant Sachen haben zurückgegeben, dass Sie nicht brauchen, können Sie die Verarbeitung ein wenig von ‚enthalten‘, es zu erleichtern, was Sie wollen.
Aber wie Deceze sagt, nicht schneiden Sie es rein für Ästhetik.