如何在控制器中跨操作使用公共数据

时间:2009-07-23 08:44:09

标签: cakephp

在我的应用程序中,通过webservice获取控制器中的动作索引的一些值。 我也希望在其他操作中使用相同的数据。如何在不再次调用webservice的情况下实现它。

感谢。

2 个答案:

答案 0 :(得分:1)

您可以在会话中保存数据,另请参阅手册中的sessions section

答案 1 :(得分:0)

$data = $this->MyModel->findAll(); // or whatever your select looks like
$this->Session->write('myData',$data);

然后,在您的其他控制器操作中(无论您使用哪个特定控制器,只要他们打开了Session组件):

if($this->Session->check('myData')){
    $data = $this->Session->read('myData');
}

现在您的数据位于$data,可以轻松发送到视图等

要使所有这些工作正常,您需要将此作为类级变量添加到您希望此数据可用的每个控制器中:

var $components = array('Session');
祝你好运!