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 相关文章推荐
基于Windows下Apache PHP5.3.1安装教程
Jan 08 PHP
PHP 冒泡排序算法的实现代码
Aug 08 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
PHP的5个安全措施小结
Jul 17 PHP
php防注入及开发安全详细解析
Aug 09 PHP
php解析url的三个示例
Jan 20 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
Aug 04 PHP
深入解析PHP中foreach语句控制数组循环的用法
Nov 30 PHP
php实现爬取和分析知乎用户数据
Jan 26 PHP
PHP实现腾讯与百度坐标转换
Aug 05 PHP
vmware linux系统安装最新的php7图解
Apr 14 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
一个简单的PHP&MYSQL留言板源码
2020/07/19 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
Firefox outerHTML实现代码
2009/06/04 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
超酷的网页音乐播放器DewPlayer使用方法
2010/12/18 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
JQuery each打印JS对象的方法
2013/11/13 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
setTimeout学习小结
2017/02/08 Javascript
Bootstrap fileinput文件上传预览插件使用详解
2017/05/16 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
JavaScript怎样在删除前添加确认弹出框?
2019/05/27 Javascript
vue集成openlayers加载geojson并实现点击弹窗教程
2020/09/24 Javascript
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
最新大学生自我评价
2013/09/24 职场文书
开业庆典策划方案
2014/02/18 职场文书
电焊工岗位职责
2014/03/06 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
2015年春训学习心得体会范文
2015/03/09 职场文书
2015年创先争优工作总结
2015/05/23 职场文书