tp6 多关联withJoin查询
记录:一个模型关联多个模型,进行查询
代码示例:
protected $relationSearch = false;/*** @NodeAnotation(title="列表")*/public function index(){ if ($this->request->isAjax()) {if (input('selectFields')) {return $this->selectList();}list($page, $limit, $where) = $this->buildTableParames();$count = $this->model->withJoin(['systemCar','driver','supplier'],'left') ->where($where)->count();$list = $this->model->withoutField('delete_time')->withJoin(['systemCar','driver','supplier'],'left')->where($where)->page($page, $limit)->order($this->sort)->select()->each(function($item,$key){//创建人类型:1-管理员,2-客户if($item['create_people_type'] == 1){$item['create_people'] = Db::name('system_admin')->where(['id'=>$item['create_people']])->value('realname');}else{$item['create_people'] = Db::name('customer')->where(['id'=>$item['create_people']])->value('name');}//修改人类型:1-管理员,2-客户if($item['update_people_type'] == 1){$item['update_people'] = Db::name('system_admin')->where(['id'=>$item['update_people']])->value('realname');}else{$item['update_people'] = Db::name('customer')->where(['id'=>$item['create_people']])->value('name');}$item['create_time'] = $item['create_time'] ? date('Y-m-d H:i:s',$item['create_time']) : ''; $item['update_time'] = $item['update_time'] ? date('Y-m-d H:i:s',$item['update_time']) : ''; //开始配送时间,预计到达时间$item['start_time'] = $item['start_time'] ? date('Y-m-d H:i:s',$item['start_time']) : ''; $item['end_time'] = $item['end_time'] ? date('Y-m-d H:i:s',$item['end_time']) : ''; });$data = ['code' => 0,'msg' => '','count' => $count,'data' => $list,];return json($data);}return $this->fetch();}
注意:
1,withJoin([‘systemCar’,‘driver’,‘supplier’],‘left’) 要放在withoutField() 函数之后
2,withJoin([‘systemCar’,‘driver’,‘supplier’],‘left’) 中第二个参数:
a/ 不填时,若未关联到数据时,则不显示
b/ 为 left 时,以当前表为主表进行查询,未关联到也会显示
c/ 为 right 时,以关联表为主表进行查询,未关联到也会显示
二、查询并显示关联表中的部分字段
->with(['pinpai'=>function($query){$query->field('pinpai.id as pinpaiid,pinpai_name');}])
(持续更新中…)
tp6 多关联withJoin查询相关推荐
- Mybatis实现多对多关联组合查询
个人网站:http://xiaocaoshare.com/ 1.需求 用户信息表.标签表.用户标签关联信息表 在做用户列表查询的时候,需要查询出该用户对应的用户标签 <resultMap id= ...
- python中and与or的执行顺序-关联子查询的执行顺序是什么
sql的编写顺序 select .. from .. where .. group by ..having .. order by .. sql的执行顺序 from .. where .. group ...
- 单行子查询 多行子查询 关联子查询 笔记
1.连接基本语法 select columns_list from table_1 innner join table_2 on join_condition; eg:select e.empno,e ...
- Oracle 的关联子查询(correlated subquery) 简介.
相信 接触过 ocp考题既, 都会见到 correlated subquery的字眼. correlated subquery的中文名称就是相关子查询呢? 1. 什么是子查询 这个很简单, 子查询就 ...
- order by 子查询_视图,子查询,标量子查询,关联子查询
视图 子查询 标量子查询 关联子查询 如何用SQL解决业务问题 各种函数 1. 视图 视图内存放SQL查询语句,运行时运行该语句.查出的数据为临时数据 创建视图 create view as 视图名称 ...
- Oracle 数据库的子查询(关联子查询)
文章目录 一.子查询结果返回一个值(单列单行) 二.子查询结果返回多行(单列多行) 三.子查询结果返回多列多行 四.关联子查询 (一)子查询执行顺序 (二)exists 关键字 五.子查询总结 六.关 ...
- oracle关联分组查询,oracle中关联查询、分组查询
高级查询 1.关联查询 作用:可以跨越多表查询 --查询出员工的名字和他所在部门的的名字 //古老的写法 select first_name,name from s_emp,s_dept where ...
- 分享:Django学习笔记(4)---ManyToMany 添加、删除关联、查询
Django学习笔记(4)---ManyToMany 添加.删除关联.查询 http://my.oschina.net/u/572994/blog/105280
- server多笔记录拼接字符串 sql_第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)...
4.1.查询的类型 declare @value as int set @value = 50 select 'age:'as age,2008 years,@valueas va --这种查询时跟 ...
- mongodb关联表查询
1.首先自定义一个查询的Operation package com.pica.wx.bean;import com.mongodb.DBObject; import org.springframewo ...
最新文章
- 下1000个用户的云计算革命
- 如何删除Android系统中的内置应用
- 计算机大端模式和小端模式 内存对齐问题(sizeof)
- C++的4种类型转换关键字及其特点
- Linux有关Shell变量的笔记
- linux c 密码 星号,Linux C : 登录密码星号 * 显示,包含能回退 backspace
- 基于SK6812编码LED实现炫光功能(PWM+DMA功能MCU兼容)
- 手把手教你 win10 安装Paddlepaddle-GPU
- matlab四元一次非线性方程求解,[转载]MATLAB求解非线性方程(转)
- iOS使用GCDSocketManager实现长连接
- 【小程序】提交成功和失败界面示例(图文+代码)
- Ubuntu20.04 安装python3.7
- 牛客10 Popping Balloons
- 百度人脸识别模块使用分享
- java获取月末日期_Java获取给定日期的月初和月末两个日期
- PHP读取文件的常见方法
- Revit模型多文件合模教程
- 普渡大学计算机科学本科,普渡大学计算机科学排名,真是细心来看
- 如何不再当分母?我告诉你一个方法
- 普源DG1062Z函数/任意波形发生器产品介绍