【问题标题】:Pass more than one variable from controller to view in cakephp从控制器传递多个变量以在 cakephp 中查看
【发布时间】:2013-11-28 09:22:03
【问题描述】:

我是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 的文章,但没有得到我想要的解决方案。

【问题讨论】:

  • 这是你想要的吗? $this->set('location_id',$location_id); 在您看来,您可以使用 $location_id。如果不是这样,请重新提出您的问题

标签: cakephp view controller associative-array


【解决方案1】:

The blog tutorial 很好地描述了如何为视图设置数据。我建议您先完成本教程,它为您提供了第一步所需的一切。

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

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

first 将使变量 $first 与值 second 在视图中可用。第二个将使带有值 bar 的 $foo 和带有值 else 的 $something 在视图中可用。

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

请帮助您自己和查看您代码的其他人,并关注the conventionscoding standards

【讨论】:

    猜你喜欢
    • 2016-07-06
    • 1970-01-01
    • 2017-09-16
    • 2015-12-13
    • 2020-04-11
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多