CakePHP: Wie auf $ this-request innerhalb eines Modells zugegriffen werden kann

8

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:

%Vor%

Wie mache ich das?

    
emersonthis 15.01.2014, 14:10
quelle

2 Antworten

22

Sie können darauf über die globale Router-Klasse zugreifen.

%Vor%     
cgTag 15.01.2014, 14:13
quelle
7

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);

    
burzum 15.01.2014 14:57
quelle

Tags und Links