【发布时间】:2012-11-19 10:08:37
【问题描述】:
我有两个模型。 PostModel & CommentModel。
我在这些类中定义了两个关系。
<?php
class PostModel extends AppModel {
var $name = 'Post';
var $hasMany = array(
'Comment' => array(
'className' => 'Comment',
'foreignKey' => 'post_id'
)
);
}
?>
和
<?php
class CommentModel extends AppModel {
var $name = 'Comment';
var $belongsTo = array(
'Post' => array(
'className' => 'Post',
'foreignKey' => 'post_id'
)
);
}
?>
在数据库中,我有带有 post_id 列的帖子表和 cmets 表。 当我使用此命令获取记录时,在 PostController 类中:
$this->set('post',$this->Post->findById($id));
调试 $post 数组我看到了这个数组:
array(
'Post' => array(
'id' => '4',
'title' => 'روز اول دانشگاه',
'body' => 'سلام. روز اول بود که اومده بودیم '
'created' => '2012-11-11 21:49:48',
'modified' => null
)
)
我希望 [comment] 行在此数组中,但没有。
我在网上搜索并调试我的应用程序,但我无法解决这个问题。!!!!!!
注意:cakephp 版本是 2.2.3 稳定版
【问题讨论】:
-
在模型末尾加上“Model”是不正常的。您的模型应该是
Post和Comment,而不是PostModel和CommentModel。 -
根据命名约定。
-
我在最后清除了模型。但它们之间没有区别。
-
这不是问题的答案 - 只是建议。
-
你是对的,戴夫,错过了那个。当然它们的模型名称中没有模型;)所以只需“发布”(Post.php)和“评论”(Comment.php)来遵循约定。
标签: cakephp associations cakephp-2.0