从另一个控制器访问控制器

时间:2012-05-04 18:59:42

标签: php cakephp

我昨天开始使用cakephp并遇到问题:

我有一个“ImagesController”和一个“UsersController”。

ImageView显示图像列表。用户使用userid保存在images表中。

我现在需要将userid转换为users表中的名称。我用帮助器尝试了它但由于我无法访问$this->User->find($id)而无法正常工作。

我已经在google上搜索了,但似乎我错误地命名它因此无法获得结果。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

您正在寻找的是将您的图像模型与您的用户模型相关联。 article in the book非常值得一读!

关联后,您可以直接获取名称而无需调用任何函数。从我的头脑中,你需要的是在你的Image模型中添加它:

public $belongsTo = array('User');

然后在您看来,用户名应该在以下位置提供:

$data_var['Image']['User']['name'];

其中$data_var是保存图像数据的View变量。

答案 1 :(得分:1)

您似乎有两个模型ImageUser。如果您希望能够拨打$this->User->find($id),可以将模型添加到cotroller顶部的$uses变量中。

var $uses = array('Image','User');

例如。