php yii多表查询
一个Company记录可以对应多个CompanyUser纪录
Company表:
[['id', 'nature_id', 'scale_id', 'pro_id', 'created_at', 'updated_at'], 'integer'],
[['id','company_name'], 'required'],
[['company_logo','company_desc','company_name','nature','scale','pro'], 'string']
public function getCompanyuser()
{
return $this->hasMany(CompanyUser::className(), ['company_id' => 'id']);
}
CompanyUser表
[['id', 'company_id', 'user_id'], 'integer']
关系
public function getCompany()
{
return $this->hasOne(Company::className(), ['id' => 'company_id']);
}
public function getUser()
{
return $this->hasOne(User::className(), ['id' => 'user_id']);
}
CompanyController.php
function actionIndex() {
$user_id = \Yii::$app->user->id;
$models = Company::find()->innerJoinWith(['companyuser'])->where(['user_id'=>$user_id])->orderBy(['created_at' => SORT_DESC])->asArray()->all();
$data = [];
foreach ($models as $model) {
$data[] = $model;
}
return json_encode($data);
}
这样可以根据companyuser表的user_id设置条件查询
-----------------------------------------------------------------------------------
SellController.php
$models = BuyRecord::find()->innerJoinWith(['d'=>function($query) {$query->andWhere('tp=1');}])->with('u')->where(['user_id_sell' => $user_id, 'status'=>1,'data_id'=>$dataid])->orderBy(['created_at' => SORT_DESC])->asArray()->all();
BuyRecord.php
public function getU()
{
return $this->hasOne(U::className(), ['id' => 'user_id']);
}
public function getD()
{
return $this->hasOne(Data::className(), ['id' => 'data_id']);
}
php yii多表查询相关推荐
- yii多表查询--学习随笔
今天自己做一个小demo,为了不要冗余字段,需要进行多表联合查询.搜索 yii中,用model来映射数据库(其实好多框架都是这么搞的),一个模型类通常有一个search模型类跟着一起 废话不多说了,首 ...
- yii mysql join_Yii框架连表查询操作示例
本文实例讲述了Yii框架连表查询操作.分享给大家供大家参考,具体如下: Join //表连接 //查询出学生.班级.校区.记录表的所有数据 $data=Jf_record::find() ->j ...
- php with语法,Yii框架关联查询with用法分析
本文实例分析了Yii框架关联查询with用法.分享给大家供大家参考.具体方法如下: Yii框架关联查询与mysql中的关联查询会有什么区别呢?这里小编就与各位来一起来看看吧. Yii的关联查询确实是一 ...
- yii mysql条件查询_Yii框架where查询用法实例分析
本文实例讲述了Yii框架where查询用法.分享给大家供大家参考,具体如下: 1.简述 Yii的查询操作找使用where用的很多 总结下常用的哈希格式与操作符格式 2.操作符格式 适用于操作符的 [操 ...
- MySQL查询进阶之多表查询
一.多表查询 1.引出 2.笛卡尔积 3. 笛卡尔积的解决方法 二.多表查询分类 1.等值连接和非等值连接 2.自连接和非自连接 3.内连接和外连接 SQL92:使用(+)创建连接 SQL99语法实现 ...
- Spring Hibernate JPA 联表查询 复杂查询
(转自:http://www.cnblogs.com/jiangxiaoyaoblog/p/5635152.html) 今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的 ...
- (转)MySQL联表查询
资料源于网络 一.内联结.外联结.左联结.右联结的含义及区别 在SQL标准中规划的(Join)联结大致分为下面四种: 1.内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结. ...
- case when 子查询_Oracle数据库-单表查询
本章涉及单张表中的查询语句,包含常用的条件查询.范围查询.模糊查询等,跨表查询后续将会介绍. 1.基本查询语句 格式:SELECT[DISTINCT] column_name,-|* FROM tab ...
- 顺序表应用6:有序顺序表查询
顺序表应用6:有序顺序表查询 Time Limit: 7MS Memory Limit: 700KB Submit Statistic Problem Description 顺序表内按照由小到大的次 ...
最新文章
- 挖一挖不常用到而又很实用的重载-Trim
- CodeChef Ada Pawns
- Python多线程下载网络URL图片的方法
- 关于大学老师,我们常有的6种误解!
- WuJiuVideoX视频小说图片站群程序开源源码
- 【BZOJ3932】任务查询系统,主席树与差分的建树思想
- Windows7 简体中文旗舰版下载 (MSDN官方发布正式版原版镜像)
- 2018 python视频教程-自学python,怎能少得了教程
- SUCCEEDED 和 FAILED的作用和用法
- 2022-2028全球硅胶线行业调研及趋势分析报告
- linux中利用k键杀死进程号,linux下杀死进程的若干方法
- 计算机会计技术特点,会计电算化系统的特点
- 本地管理表空间(LMT)与自动段空间管理(ASSM)概念(未看)
- SpringClout 入门笔记
- Vue2.x动态组件的使用实现组件整合大屏展示
- 2023注册会计电子版教材
- (超全)Vue.js学习笔记—webpack基础配置(webpack4+babel7+vue2)
- 极限中0除以常数_基本不等式中常用公式百度作业帮
- 计算机软件专业英语考试题,计算机水平考试-软件设计师分类模拟题计算机专业英语(二)...
- 局域网git服务器搭建(基于win7 + bonobo git server)
热门文章
- pythonsocket中tcp通信接收不到数据_TCP 为什么三次握手而不是两次握手(正解版)...
- foreach判断最后一个_ArrayList集合为什么不能使用foreach增删改?
- android 6.0 数据库权限,Android超清晰6.0权限申请AndPermission
- oracle没有注册mdsdora,oracle rac一个节点服务注册不上,必须重启监听才能注册上,各位大神帮忙看一下...
- oracle00333,Oracle数据库REDO损坏ora-00333修复手札
- 导出排除的表_excel拆分实例:如何快速制作考勤统计分析表
- 爱尔兰都柏林圣三一大学计算机排名,2021年爱尔兰都柏林圣三一大学世界及专业排名 不愧是最古老的学府!...
- Java中List、Map、Set三个接口,存取元素时,各有什么特点?
- ZZUOJ 1199 大小关系(拓扑排序,两种方法_判断入度和dfs回路判断)
- python 求出4行5列的二维数组周边元素之和