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


Posted in PHP onFebruary 15, 2017

背景:

现有 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() 实现三表关联的方法(两种),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP新手上路(三)
Oct 09 PHP
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 PHP
php session应用实例 登录验证
Mar 16 PHP
PHP memcache扩展的三种安装方法
Apr 26 PHP
PHP 程序员也要学会使用“异常”
Jun 16 PHP
基于php无限分类的深入理解
Jun 02 PHP
php防止伪造的数据从URL提交方法
Jun 27 PHP
9个实用的PHP代码片段分享
Jan 22 PHP
php计算函数执行时间的方法
Mar 20 PHP
php获得网站访问统计信息类Compete API用法实例
Apr 02 PHP
使用PHP uniqid函数生成唯一ID
Nov 18 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
Feb 15 #PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 #PHP
PHP使用Redis替代文件存储Session的方法
Feb 15 #PHP
Yii2中多表关联查询hasOne hasMany的方法
Feb 15 #PHP
php+Memcached实现简单留言板功能示例
Feb 15 #PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
Feb 14 #PHP
PHP中Trait及其应用详解
Feb 14 #PHP
You might like
做一个有下拉功能的留言版
2006/10/09 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
两种php给图片加水印的实现代码
2020/04/18 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
2015/12/30 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
jquery attr 设定src中含有&(宏)符号问题的解决方法
2011/07/26 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
Vue隐藏显示、只读实例代码
2018/07/18 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
VUE项目实现主题切换的多种方法
2020/11/26 Vue.js
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
Django中Middleware中的函数详解
2019/07/18 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
shell程序中如何注释
2012/01/28 面试题
国际经济贸易专业推荐信
2013/11/06 职场文书
大学生饮食连锁店创业计划书
2014/01/17 职场文书
简历的自我评价
2014/02/03 职场文书
关于保护环境的标语
2014/06/09 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
论文答辩开场白大全
2015/05/27 职场文书
python中如何对多变量连续赋值
2021/06/03 Python