2012-07-31 52 views
2

我有功能传球达阵,以requestAction CakePHP中

public myfunction($myArray) { 
} 

我需要通过array("cat", "dog")行动。

$output = $this->requestAction(
    array('controller' => 'app', 'action' => 'myfunction'), 
    array("cat","dog") 
); 

但这仅传递到cat我的控制器动作,dog不获通过。

我尝试这样做:

$output = $this->requestAction(
    array('controller' => 'app', 'action' => 'myfunction'), 
    array("myArray" => array("cat","dog")) 
); 

但它并没有帮助。我检查了cookbook但找不到相关示例。 我该如何解决这个问题?谢谢

回答

7

试试这个代码

$this->requestAction(
    array('controller' => 'app', 'action' => 'myfunction'), 
     array('pass' => array('dog','cat')) 
      ); 
在MyFunction的

public myfunction() { 
    pr($this->params->params['pass']); 
} 

告诉我,如果不工作...

+1

这工作得很好,你救了我的一天。我从菜谱中找不到任何关于此的信息.. – trante 2012-08-01 15:15:17

2

看到寿网址

http://book.cakephp.org/1.3/view/991/requestAction

how to pass argument in cakephp requestAction?

试试这个

$option = array("cat_dog"); 

$this->requestAction(array('controller' => 'app', 'action' => 'myfunction'), $option); 

之后再拿到$选项阵列和爆炸了。

$myArray = explode('_', your get variable); 

pr($myArray); 
+0

我需要将数组传递给操作。 “返回”不是一个数组? – trante 2012-07-31 17:46:05

+0

尝试这个回声$ this-> requestAction(array('controller'=>'app','action'=>'myfunction'),array('return','param'=> array(“cat”,“dog “)))); – 2012-07-31 17:56:31

+0

这不工作:( – trante 2012-07-31 18:05:20

0

尝试:

$output = $this->requestAction(
array('controller' => 'app', 'action' => 'myfunction'), 
array("animals" => array("cat"=>"cat","dog"=>"dog")) 
); 
+0

这没有在cakephp 2 – trante 2012-07-31 18:32:53