Ich bin auf CakePHP v2.4.
Im afterSave()
-Rückruf eines Modells möchte ich abhängig von den Bedingungen der Anforderung etwas Bedingtes tun. % Co_de% scheint hier jedoch nicht definiert zu sein:
Wie mache ich das?
Anstatt einen einzigen Ton (Router :: getRequest ()) in der afterSave () -Methode aufzurufen und eine enge Kopplung einzuführen, wie von Mathew vorgeschlagen, können Sie den Parameter, den Sie dort benötigen, zusammen mit den Daten des Datensatzes übergeben speichern?
Es wird dann in $ this- & gt; Daten im afterSave () vorkommen. Außerdem ist es so einfach zu testen. Viel Spaß beim Testen von Router :: getRequest () in dieser Methode.
Wenn Sie die gesamte Anfrage benötigen, können Sie dort auch eine Eigenschaft Model :: $ request zu AppModel und eine Methode setRequest () hinzufügen und in Ihren Controllern beforeFilter () können Sie $ this- & gt; {$ this- & gt; modelClass} - & gt; setRequest ($ this- & gt; -Anforderung);
Tags und Links php cakephp cakephp-2.0