在CakePHP中,有没有更好的方法来选择用户名?

时间:2012-03-05 11:19:47

标签: cakephp

我目前有一个users表和一个posts表。我的帖子表中有一个user_id字段,但是,我不确定如何获取name表中的用户users字段。我正在考虑使用模型afterFind()方法然后使用SQL来选择数据,但必须有一个比这更好的方法。另外,在我的查看操作中,我使用read()函数来抓取一个帖子。模型afterFind()在运行read()后会启动吗?如果没有,是否有等同于afterRead()

3 个答案:

答案 0 :(得分:2)

只需建立Post belongsTo User的关联,每个具有足够高recursive值的常规查找/读取操作都会自动获取每个帖子的用户。

$post = $this->Post->find(...);
echo $post['User']['name'];

答案 1 :(得分:0)

你必须如下:

$this->Cake->findById(7);   Cake.id = 7 

在这里,您可以使用 user_id 而不是像...那样的

Find BY CAKE PHP

答案 2 :(得分:0)

$this->Post->bindModel(array('belongsTo'=>'User'));
$post = $this->Post->findById($post_id);
$userName = $post['User']['name'];

这是错误,我在eclipse中键入了它(: