目前我的模型关系船是按以下方式建立的
class Post extends AppModel {
var $name = 'Post';
var $displayField = 'title';
var $hasMany = array('Comment');
var $belongsTo = array('User');
}
class User extends AppModel {
var $name = 'User';
var $displayField = 'username';
var $hasMany = array('Post', 'Comment');
}
class Comment extends AppModel {
var $name = 'Comment';
var $displayField = 'id';
var $belongsTo = array('User', 'Post');
}
当我试图在我的帖子的评论部分引用用户名时,查看它错误地说无效索引,经过进一步调查,我注意到我的模型不包括用户信息作为我评论的反向参考,只有用户信息正在包含在帖子中
结果数组如下所示:
Array
(
[Post] => Array
(
[id] => 1
[title] => test post
[user_id] => 1
[body] => this is a test post
[date_posted] => 0000-00-00 00:00:00
[url_slug] => this-is-a-test-post
)
[User] => Array
(
[id] => 1
[username] => admin
[password] => e7b9f7bc09beee85947ef987d7df49df136c7c38
[first_name] => Chris
[last_name] => McGrath
[roles] => Admin
[email] => admin@thissite.com
[last_login] => 0000-00-00 00:00:00
[member_since] => 0000-00-00 00:00:00
[FacebookProfile] =>
[TwitterUserName] =>
)
[Comment] => Array
(
[0] => Array
(
[id] => 5
[post_id] => 1
[user_id] => 1 //expecting this to pull user model for each
[comment] => test comment
)
)
)
我的问题是这是由于我在模型关联中做错了什么引起的,这是模型框架的限制还是我应该在这种类型的实例中手动从用户模型中获取用户