从控制器传递多个变量到cakephp中查看

时间:2013-11-28 09:22:04

标签: cakephp view controller associative-array

我是cakephp的新手。我需要向view发送两个变量。在codeigniter中它很容易

$data['var1'] = 'One';
$data['var2'] = 'Two';
$this->load->view('myview',$data);

现在在Cakephp,我有一个名为函数名search()的控制器,我在其中向view发送一个关联数组。

$gal_providers = $this->GalProvider->getListByCategory(3,$location_id,false,9);
$this->set("gal_providers",$gal_providers);

但我需要将变量$location_id也发送给视图。我该怎么发送?

我阅读了文章Using set() and compact() together,但我没有得到我想要的解决方案。

1 个答案:

答案 0 :(得分:5)

The blog tutorial非常清楚地描述了如何将数据设置到视图中。我建议你先做这个教程,它为你提供了完成第一步所需的一切。

您可以在控制器中使用$ this-> set()设置变量:

$this->set('first', 'second');
$this->set(array('foo' => 'bar', 'something' => 'else'));

第一个将使变量$ first与视图中的第二个值一起使用。第二个将使用值条形式生成$ foo,在视图中生成具有其他价值的$。

Controll :: set()将数据设置为视图实例viewVars属性。渲染视图时,它会将它们转换为视图模板中可用的变量。

让自己和其他人看一下您的代码,并关注the conventionscoding standards