不确定您的数据库架构是什么样的。但是假设我们有两个模型(数据库中的表)-Post
和Comment
.
Comment
指Post
(tbl_comment
有外键指tbl_post
的是主键)。这意味着Post
HAS_MANY Comment
。据此,您的Post::relations
方法可能如下所示:
/**
* @return array
*/
public function relations()
{
return array(
'comments' => array(self::HAS_MANY, 'Comment', 'post_id'), // <-- post_id is FK in tbl_comment
'countComments' => array(self::STAT, 'Comment', 'post_id'), // <-- the same as above, post_id is FK in tbl_comment
);
}
然后在任何地方(比如在控制器中)你可以这样做:
$post=Post::model()->findByPk(731);
var_dump($post->comments); // <-- dumps array of Comment-models, if any
var_dump($post->countComments); // <-- dumps number of related comments
当然,您应该阅读此http://www.yiiframework.com/doc/guide/1.1/en/database.arr#statistical-query
我希望这有帮助。