找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 465|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:28:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            背景:
现有 group (组)和 user (用户) 两种实例。
一个 group 中可以拥有多个 user,一个 user 也可以属于有多个 group (多对多关系)
GroupUserRelation 表用于绑定组合组员的关系(使用id绑定)
字段有 id, group_id, user_id
现有User(用户)表, 需要获取 其所属的所有用户组的信息,需要使用hasMany()进行多表关联。
User.id => GroupUserRelation.user_id
GroupUserRelation.group_id => Group.id
方法1
public function getGroup()
{
  return $this->hasMany(Group::className(), ['id' => 'group_id'])
     ->viaTable(GroupUserRelation::tableName(), ['user_id' => 'id']);
}
方法2
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() 实现三表关联的方法(两种),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
            
            
您可能感兴趣的文章:
  • Yii2 ActiveRecord多表关联及多表关联搜索的实现
  • Yii2中使用join、joinwith多表关联查询
  • Yii2.0表关联查询实例分析
  • Yii2实现让关联字段支持搜索功能的方法
  • Yii2中关联查询简单用法示例
  • Yii2中多表关联查询hasOne hasMany的方法
  • Yii2中hasOne、hasMany及多对多关联查询的用法详解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端