Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)

2025-05-29 0 96

背景:

现有 group (组)和 user (用户) 两种实例。

一个 group 中可以拥有多个 user,一个 user 也可以属于有多个 group (多对多关系)

GroupUserRelation 表用于绑定组合组员的关系(使用id绑定)

字段有 id, group_id, user_id

现有User(用户)表, 需要获取 其所属的所有用户组的信息,需要使用hasMany()进行多表关联

?

1

2
User.id => GroupUserRelation.user_id

GroupUserRelation.group_id => Group.id

方法1

?

1

2

3

4

5
public function getGroup()

{

return $this->hasMany(Group::className(), ['id' => 'group_id'])

->viaTable(GroupUserRelation::tableName(), ['user_id' => 'id']);

}

方法2

?

1

2

3

4

5

6

7

8

9
public function getGroup()

{

return $this->hasMany(Group::className(), ['id' => 'group_id'])

->viaTable('groupUserRelation');

}

public function getGroupUserRelation()

{

return $this->hasMany(GroupUserRelation::tableName(), ['user_id' => 'id']);

}

以上所述是小编给大家介绍的Yii2 hasOne(), hasMany() 实现三表关联的方法(两种),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对快网idc网站的支持!

原文链接:http://blog.csdn.net/qq_16885135/article/details/54407267

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Yii2 hasOne(), hasMany() 实现三表关联的方法(两种) https://www.kuaiidc.com/95655.html

相关文章

发表评论
暂无评论