Yii2中多表关联查询hasOne hasMany的方法


Posted in PHP onFebruary 15, 2017

表positionContent

id position_id content_title content_id is_recommend list_sort update_time create_time
10 14 大成成长 160910 1 1 2017-02-09 11:51:56 2017-02-09 11:51:56
11 15 创新成长 160910 1 1 2017-02-09 11:52:08 2017-02-09 11:52:08

position表

id name title type num remark update_time create_time
14 列表推荐一 五星推荐 1 3 2017-02-09 00:00:00 2017-02-09 00:00:00
15 列表推荐二 热销基金 1 4 2017-02-09 00:00:00 2017-02-09 00:00:00

positionContent表的position_id对就position表的id。positionContent跟position是一对一的关系,反过来则是多对一。

model

class PositionContent extends \yii\db\ActiveRecord
{
...
 public function getPosition(){
  return $this->hasOne(Position::className(), ['id'=>'position_id']);
 }
...

然后在Controller调用,这样就能拿到position表中的数据了。

class TestController extends BackendBaseController
{
 public function actionIndex()
 {
  $data = PositionContent::findOne(10);
  $position = $data->position;
 }
 }

其实hasOne是执行了两次查询,并不是真正的连表查询。

SELECT * FROM `position_content` WHERE `id`=10
SELECT * FROM `position` WHERE `id`='14'

以上所述是小编给大家介绍的Yii2中多表关联查询hasOne hasMany,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP的FTP学习(二)[转自奥索]
Oct 09 PHP
PHP与javascript的两种交互方式
Oct 09 PHP
解析yii数据库的增删查改
Jun 20 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
Jun 24 PHP
laravel安装zend opcache加速器教程
Mar 02 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
May 31 PHP
Laravel日志用法详解
Oct 09 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 PHP
实例讲解PHP表单处理
Feb 15 PHP
Laravel 连接(Join)示例
Oct 16 PHP
Laravel 修改默认日志文件名称和位置的例子
Oct 17 PHP
php+Memcached实现简单留言板功能示例
Feb 15 #PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
Feb 14 #PHP
PHP中Trait及其应用详解
Feb 14 #PHP
php数组指针操作详解
Feb 14 #PHP
PHP中include()与require()的区别说明
Feb 14 #PHP
php中的抽象方法和抽象类
Feb 14 #PHP
PHP静态成员变量和非静态成员变量详解
Feb 14 #PHP
You might like
自动分页的不完整解决方案
2007/01/12 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
PHP未登录自动跳转到登录页面
2016/12/21 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
常用的几段javascript代码分享
2014/03/25 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
python访问类中docstring注释的实现方法
2015/05/04 Python
python实现给数组按片赋值的方法
2015/07/28 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
Python实现多属性排序的方法
2018/12/05 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
python利用paramiko实现交换机巡检的示例
2020/09/22 Python
css3 transform 3d 使用css3创建动态3d立方体(html5实践)
2013/01/06 HTML / CSS
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
关于孝道的演讲稿
2014/05/21 职场文书
国际贸易实训报告
2014/11/05 职场文书