CakePHP: передача $this-›params['form'] в вызове requestAction?

Как я могу передать $this->params['form'] действию контроллера, указанному в requestAction, чтобы я мог использовать переменную таким же образом, вызвав $this->params['form']?

Вот что я пытаюсь (но не работает):

$this->requestAction('/reports/grid', array('params["form"]' => $this->params['form']));
$this->requestAction('/reports/grid', array('$this->params["form"]' => $this->params['form']));

person Garrett    schedule 19.03.2012    source источник


Ответы (1)


Согласно документации версии 1.3, вам необходимо указать каждый параметр, который вы хотите отправить, в запросе в ключе параметра pass или namedhttp://book.cakephp.org/1.3/en/view/991/requestAction

echo $this->requestAction(array('controller' => 'articles', 'action' => 'featured'), array('named' => array('limit' => 3)));

echo $this->requestAction(array('controller' => 'articles', 'action' => 'view'), array('pass' => array(5)));

Итак, это должно быть что-то вроде

$this->requestAction('/reports/grid', array('pass' => array($this->params['form'])));

Примечание. Существует очень мало веских причин, по которым вы хотели бы использовать requestAction. Пожалуйста, прочитайте о штрафах за производительность, если вы еще этого не сделали.

person JohnP    schedule 19.03.2012
comment
Близко, но не совсем. Вместо pass мне просто пришлось использовать form и удалить array(), обертывающий параметр. Спасибо за понимание :) - person Garrett; 19.03.2012
comment
Не могли бы вы опубликовать решение, которое сработало для вас? Это может помочь кому-то с той же проблемой. Спасибо! - person JohnP; 19.03.2012