2015-10-20 75 views
1

我正在Cakephp项目上工作,我有一个控制器,它提出了一些算法并将信息保存到数组中。我需要在同一个控制器上调用另一个方法,并将该数组作为参数发送。我需要这个使用重定向做的,就像这样:重定向与数组参数Cakephp

return $this->redirect(['controller' => 'Identities', 'action' => 'myMethod', $array]); 

如果我不使用重定向,我不会有myMethod的认为,我需要它,但我需要有阵列信息在这个视图上,像做$ this-> set来传递数组到视图。

不过,我得到这个错误:

rawurlencode() expects parameter 1 to be string, array given 

我如何将数组作为参数发送?

回答

1

您可以使用这样的查询字符串。

return $this->redirect(['controller' => 'Identities', 'action' => 'myMethod', '?' => ['param1' => 'val1', 'param2' => 'val2']]); 

You can provide routed elements or query string parameters.

Source

+0

我有有像3000个元件的阵列,我不能使用该方法,因为我需要编写的所有元素,还阵列可以具有不同的数目取决于元件的计算。我需要将整个数组作为参数传递,类似于$ this-> set函数。 – Vito

+0

您可以在重定向之前将会话元素保存到会话中,然后从会话中加载。 – user3082321

+0

好主意,我会试一试,并会让你知道。 – Vito