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 相关文章推荐
使用无限生命期Session的方法
Oct 09 PHP
php生成html文件方法总结
Dec 01 PHP
php实现兼容2038年后Unix时间戳转换函数
Mar 18 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
PHP如何将XML转成数组
Apr 04 PHP
常用PHP数组排序函数归纳
Aug 08 PHP
laravel 5.4中实现无限级分类的方法示例
Jul 27 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
May 27 PHP
laravel批量生成假数据的方法
Oct 09 PHP
Laravel数据库读写分离配置的方法
Oct 13 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
May 02 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
php控制文件下载速度的方法
2015/03/24 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
java解析json方法总结
2019/05/16 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
javascript 动态参数判空操作
2008/12/22 Javascript
dojo随手记 gird组件引用
2011/02/24 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
2016/08/25 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
python实现Virginia无密钥解密
2019/03/20 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
2014信息公开实施方案
2014/02/22 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
长江三峡导游词
2015/01/31 职场文书
小学新课改心得体会
2016/01/22 职场文书
《中华上下五千年》读后感3篇
2019/11/29 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python