CakePHP访问其他控制器

时间:2010-04-12 15:05:54

标签: php cakephp

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]

我不知道我做错了什么。有帮助吗? 谢谢!

2 个答案:

答案 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()更多信息。

相关问题