【发布时间】:2012-03-25 17:59:23
【问题描述】:
我的数据库中有 3 个用户表:
Usersusers_twitterusers_web
Users 是 users_twitter 和 users_web 的父级。
然后是 cmets 的另一个表。这两种用户都可以发表评论。
所以,当我想展示 cmets 时,我需要获取每条评论的作者信息。
为此,我在/Model/Comment.php 上使用变量$belongsTo,如下所示:
public $belongsTo = array(
'users' => array(
'foreignKey' => 'idUser'
)
);
在 Controller/CommentController 中,当我这样做时:
public function index($idPost) {
$this->Comment->recursive = 0;
return $this->Comment->find('all');
}
我得到了这种数组:
[0] => Array
(
[Comment] => Array
(
[id] => 1
[idPost] => 441
[idUser] => 387371023
[comment] => hello word
[created] => 2012-03-01 00:00:00
)
[User] => Array
(
[id] => 1
[username] => myname
)
)
我想要的是获得更多信息,即用户的子类型之一,具体取决于子类型表上 ID 的存在。
如果它是 user_web 表的 id,我想得到这个:
[0] => Array
(
[Comment] => Array
(
[id] => 1
[idPost] => 441
[idUser] => 387371023
[comment] => hello word
[created] => 2012-03-01 00:00:00
)
[User] => Array
(
[id] => 1
[username] => myname
[users_web] => Array
(
[id] => 1
[username] => myName
[password] => XXXXX
[verified] => 1
[created] => 1
)
)
您知道使用 CakePHP 是否可以做到这一点?
据我所知,$hasOne 我只多升一级,我需要两级。
【问题讨论】:
标签: cakephp cakephp-2.0 has-one subtype