CakePHP新手:)
我无法访问另一个控制器并将该数据传递到我的某个控制器中的视图:
在controllers/landings_controller.php
:
var $uses = 'User';
function home() {
$userdata = $this->User->read();
$this->set(compact('userdata'));
}
在views/landings/home.ctp
:
<?php
echo $this->userdata;
?>
访问/landings/home
时出现以下错误:
Notice (8): Undefined property: View::$userdata [APP/views/landings/home.ctp, line 38]
我不知道我做错了什么。有帮助吗? 谢谢!
答案 0 :(得分:2)
$this->set('userdata', $userdata);
Compact返回单个数组。 $ this-&gt; set需要两个参数。
http://book.cakephp.org/view/57/Controller-Methods
<强>校正:强> set确实接受了关联数组(感谢Daniel Wright)。请阅读以下有关在视图中使用变量的信息。
此外,变量放在范围内 - 不作为成员附加 - 因此您不会在视图中执行此操作:
<?php echo $this->userdata ?>
但是,而不是:
<?php echo $userdata ?>
当然,假设$ userdata是一个标量。
答案 1 :(得分:0)
我认为使用compact
很好。您需要了解set()更多信息。