yii框架表关联中BELONGS_TO和HAS_MANY的区别

jerry Yii 2015年09月16日 收藏

假设我们有个博客系统,现在有个Post(博文)模型,那么他的关系可以表示为:

return array(
    'author'=>array(self::BELONGS_TO, 'User', 'author_id'),
    'comments'=>array(self::HAS_MANY, 'Comment', 'post_id', 'with'=>'author', 'order'=>'create_time DESC'),
    'tags'=>array(self::MANY_MANY, 'Tag', 'post_tag(post_id, tag_id)', 'order'=>'name'),
);


解释一下:
一篇帖子属于一个用户发的,所以他跟作者的关系是belongs to
一篇帖子有多个评论,所以他跟评论的关系是has many
一篇帖子有多个TAG(标签),同样,一个TAG也对应多个帖子,所以他跟TAG之间是多对多,也就是many many