Cakephp 2.3:如何将数据数组发送到另一个控制器中的动作进行渲染?

时间:2014-01-05 02:04:22

标签: cakephp cakephp-2.3

我有一个控制器动作,它应该验证数据并将结果(数据数组)传递给另一个控制器中的动作以进行进一步处理。我不想为此使用会话组件,因为这不是理想的。鉴于此,是否有任何其他方法可以将数据数组传递给另一个控制器/操作。

我正在使用CakePHP 2.3.10

由于数据数组的长度,我不确定是否可以发送namedParams或Query字符串。

提前致谢。

3 个答案:

答案 0 :(得分:1)

您可以通过使用如下例所示的用途来实现此目的:

 App::uses('AnotherController','Controller');
    class ContentsController extends AppController {

      function youAction(){
         $anotherControllerObject = new AnotherController();
         $anotherControllerObject->anotherControllerfunction($longDataArray);

      }
    }

答案 1 :(得分:0)

听起来你需要在ControllerA中做的大部分工作是验证和按摩数据。这可以通过附加的模型来处理。

如果将逻辑从controllerA移动到ModelA中的函数,则可以通过将数据直接传递给ControllerB并让ControllerB使用loadModel访问ModelA来切断ControllerA。

例如在ControllerB中:

$this->loadModel('ModelA');
$validatedData = $this->ModelA->aDataProcessingFunction($this->request->data);

//continue with second step of processing

答案 2 :(得分:0)

  

我有一个控制器动作,应该验证数据和   将结果(数据数组)传递给另一个控制器中的操作   进一步处理。

为什么不在模型中继续进行处理(包含脂肪模型)。