Yii2.0框架模型多表关联查询示例


Posted in PHP onJuly 18, 2019

本文实例讲述了Yii2.0框架模型多表关联查询。分享给大家供大家参考,具体如下:

联表查询--hasMany:

use app\models\User;
$right = Right::findOne(2);
//$user = User::find()->where(['right_id' => $right->attributes['id']])->all();
$user = $right->hasMany(User::className(),['right_id' => 'id'])->all();
//right_id为User::className()表中字段,id为Right::findOne(2)表字段

多表关联一对多查询优化

如果多次用到同表相同查询:

\models\Rught.php

namespace app\models;
use \yii\db\ActiveRecord;
class Right extends ActiveRecord
{
  public function getUsers()
  {
    $users = $this->hasMany(User::className(),['right_id' => 'id'])->asArray()p->all();
    return $users;
  }
}

\controller\home\actionAbout

public function actionAbout()
{
  $right = Right::findOne(2);
//  $users = $right->getRights();
  $users = $right->rights;
  dd($users);
  return $this->render('about');
}

多表关联一对一查询

\models\User.php

namespace app\models;
use \yii\db\ActiveRecord;
class User extends ActiveRecord
{
  public function getRight()
  {
    $right = $this->hasOne(Right::className,['id' => 'right_id'])->asArray();
    return $right;
  }
}

\controller\home\actionAbout

$user = User::findOne(1);
$right = $user->user;
dd($right);
return $this->render('about');

join

//查询关联表的所有数据
$user = User->find()->with('right')->asArray()->all();

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php后台如何避免用户直接进入方法实例
Oct 15 PHP
PHP中返回引用类型的方法
Apr 03 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
Jun 17 PHP
Java中final关键字详解
Aug 10 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 PHP
PHP类的自动加载机制实现方法分析
Jan 10 PHP
PHP树形结构tree类用法示例
Feb 01 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
Oct 30 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 PHP
PHP7 foreach() 函数修改
Mar 09 PHP
php和redis实现秒杀活动的流程
Jul 17 #PHP
php web环境和命令行环境下查找php.ini的位置
Jul 17 #PHP
php命名空间设计思想、用法与缺点分析
Jul 17 #PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 #PHP
php基于协程实现异步的方法分析
Jul 17 #PHP
php学习笔记之字符串常见操作总结
Jul 16 #PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
Jul 15 #PHP
You might like
PHP产生不重复随机数的5个方法总结
2014/11/12 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
2013/12/04 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
2014/09/03 Javascript
原生js结合html5制作简易的双色子游戏
2015/03/30 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
实例代码讲解jquery easyui动态tab页
2015/11/17 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
python下10个简单实例代码
2017/11/15 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
借助HTML5 Canvas API制作一个简单的猜字游戏
2016/03/25 HTML / CSS
天猫精选:上天猫,就够了
2016/09/21 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
现代化办公人员工作的自我评价
2013/10/16 职场文书
11月红领巾广播稿
2014/01/17 职场文书
元旦晚会主持词
2014/03/24 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
公司节能减排倡议书
2014/05/14 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
老公出轨后的保证书
2015/05/08 职场文书
心灵点滴观后感
2015/06/02 职场文书
《游戏公平》教学反思
2016/02/20 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书