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
php格式化工具Beautify PHP小小BUG
Apr 24 PHP
PHP memcache扩展的三种安装方法
Apr 26 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
Jun 03 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
php实现的树形结构数据存取类实例
Nov 29 PHP
PHP中is_dir()函数使用指南
May 08 PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 PHP
PHP 根据key 给二维数组分组
Dec 09 PHP
php简单处理XML数据的方法示例
May 19 PHP
laravel 获取某个查询的查询SQL语句方法
Oct 12 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 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
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
js 链式延迟执行DOME
2012/01/04 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
2015/12/03 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
基于AGS JS开发自定义贴图图层
2017/03/31 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
Angular父组件调用子组件的方法
2018/04/02 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
2020/08/18 Javascript
python实现自动登录后台管理系统
2018/10/18 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
浅谈Python中的继承
2020/06/19 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
公务员培训自我鉴定
2013/09/19 职场文书
师范大学应届生求职信
2013/11/21 职场文书
《开国大典》教学反思
2014/04/19 职场文书
社会工作专业自荐信
2014/09/26 职场文书
2015年中秋节活动总结
2015/03/23 职场文书
工作后的感想
2015/08/07 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL