Thinkphp5 的常用连式查询
取出表中改字符串前两位等于01的数据
$pepper_count = $this->orderModel->where("instr(order_id,'02')",2)->count('id');
按主键查询
按主键查用放在括号里
//把按商户和平台的id查出来的数据传到edit前台模板里
$id=input('id');
$agencyRes=db('merchant_agency')
->field('a.*,b.agency_name')
->alias('a')
->join('agency b','a.agency_id=b.id')
->find($id);
不按主键查
$userInfo=db('user')
->field('a.*,b.group_id,c.title')
->alias('a')
->join('role_group_access b','a.uid=b.uid')
->join('role_group c','b.group_id=c.group_id')
->where('a.uid',$uid)
->find();
JOIN方法 的左右连接
JOIN方法也是连贯操作方法之一,用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
$goods_list = db('goods_menu_dishes')
->alias('g')
->join('agency_goods d',"g.menu_id = d.menu_id ",'left') //关联类型。可以为:INNER、LEFT、RIGHT、FULL,不区分大小写,默认为INNER。
->where("g.merchant_id ",$merchant_id)
->where('d.agency_id',$agency_id)
->where('g.menu_id',$menu_id)
->field("g.goods_sn,d.out_sku_id")
->select();
var_dump($goods_list);
die;
not in 方法
$authGroupRes=db('role_group')
->field('group_id,title')
->where('group_id','not in','1,3,4')
->select();
like 查询
use think\Db; //上面需要use
//取出广告栏里title里含有index_banner关键字并且设置为推荐的所有轮播图信息
// $indexModel=new indexModel;
$bannerRes=Db::table('bk_cate')
->field('b.*,a.catename')
->alias('a')
->join('bk_article b','a.id = b.cateid')
->where('catename','like','%轮播图%')
->where('rec','eq',1)
->limit(5)
->select();
where 按条件筛选查询
if (isset($data['station_name']) && empty($data['station_name'])) {
unset($data['station_name']);
} else {
$where['a.station_name'] = ['like', "%" . $data['station_name'] . "%"];
}
if (isset($data['erp_code']) && empty($data['erp_code'])) {
unset($data['erp_code']);
} else {
$where['a.erp_code'] = ['=', $data['erp_code']];
}
if (isset($data['city']) && $data['city'] == '[2,25]') {
$where['a.city'] = ['not in', $data['city']];
} else {
$where['a.city'] = ['=', $data['city']];
}
if (isset($where['a.erp_code']) && empty($where['a.erp_code'])) {
unset($where['a.station_name']);
}
$data = $this->seachAgencyStationiInfo($where);
public function seachAgencyStationiInfo($where = '')
{
//查出所有平台的信息展示出来,供开通平台选用
$agencyInfo = db('agency')->where('display','=',1)->select();
$this->assign('agencyInfo', $agencyInfo);
//查出表格的前半部分显示数据
$shopAgencyInfo = db('shop_station')
->field('a.station_id,a.merchant_id,a.daqu_id,a.erp_code,a.city,a.station_name,a.tel,b.region_name')
->alias('a')
->join('region b', 'a.city=b.region_id')
->where(isset($where) ? $where : '')
// ->fetchSql()
// ->order('station_id desc')
->order('city asc')
->paginate(20);
}
更详情点下面连接
JOIN更多操作
Thinkphp5 的常用连式查询的更多相关文章
- dig 常用的域名查询工具
dig 命令是常用的域名查询工具,可以用来测试域名系统工作是否正常. 语法: dig (选项) (参数) 选项: @<服务器地址>: 指定进行域名解析的域名服务器: -b: 当主机具有多个 ...
- WordPress 常用数据库SQL查询语句大全
在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名.修改附件目录.批量修改文章内容等等.这个时候,使用SQL查询语句可以大大简化我们的工作量. 关于如何操作SQL查询语 ...
- MongoDB常用操作一查询find方法db.collection_name.find()
来:http://blog.csdn.net/wangli61289/article/details/40623097 https://docs.mongodb.org/manual/referenc ...
- SELECT中(非常)常用的子查询操作
MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在 ...
- J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate())
J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate()) 当我们使用Hibernate进行数据的CRUD操作时,利用模版进行操作不失为一种方法. ...
- Dapper 链式查询 扩展
Dapper 链式查询扩展 DapperSqlMaker Github地址:https://github.com/mumumutou/DapperSqlMaker 欢迎大佬加入 Demo: 查询 ...
- MyBatis联合查询和使用association 进行分步式查询
查询Emp的同时,查出emp对应的部门Department 方法1:联合查询,使用级联属性封装结果集 <!-- 联合查询,使用级联属性封装结果集 type:要自定义规则的javaBean类型 i ...
- sql的行转列(PIVOT)与列转行(UNPIVOT) webapi 跨域问题 Dapper 链式查询 扩展 T4 代码生成 Demo (抽奖程序)
sql的行转列(PIVOT)与列转行(UNPIVOT) 在做数据统计的时候,行转列,列转行是经常碰到的问题.case when方式太麻烦了,而且可扩展性不强,可以使用 PIVOT,UNPIVOT比 ...
- MongoDB常用操作一查询find方法(转)
来:http://blog.csdn.net/wangli61289/article/details/40623097 https://docs.mongodb.org/manual/referenc ...
随机推荐
- D-温暖的签到题
链接:https://ac.nowcoder.com/acm/contest/892/D 题意: 给你一个长度为n的序列,初始为1,2,3...n,对其进行m次操作. 操作有两种: 1 l r 表示 ...
- Mysql数据表的增删改查
---恢复内容开始--- Mysql数据表的增删改查 1.创建表 语法:CREATE TABLE 表名(字段1,字段2,字段3.......) CREATE TABLE `users` ( `us ...
- Java EE学习笔记(八)
动态SQL 1.动态SQL中的元素 1).作用:无需手动拼装SQL,MyBatis已提供的对SQL语句动态组装的功能,使得数据库开发效率大大提高! 2).动态SQL是MyBatis的强大特性之一,My ...
- Net Core -- 配置Kestrel端口
Net Core -- 配置Kestrel端口 Kestrel介绍 在Asp.Net Core中,我们的web application 其实是运行在Kestrel服务上,它是一个基于libuv开源的跨 ...
- 057 Insert Interval 插入区间
给出一个无重叠的按照区间起始端点排序的区间列表.在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间).示例 1:给定区间 [1,3],[6,9],插入并合并 ...
- TDH-常见运维指令
1.查看cpu: cat /proc/cpuinfo | grep processor2.查看磁盘:df -h (查看磁盘使用率) df -i (查看iNode使用) fdisk -l (查看磁盘整体 ...
- Kaggle八门神器(一):竞赛神器之XGBoost介绍
Xgboost为一个十分有效的机器学习模型,在各种竞赛中均可以看到它的身影,同时Xgboost在工业届也有着广泛的应用,本文以Titanic数据集为研究对象,简单地探究Xgboost模型建模过程,同时 ...
- [原]Maven项目编译后classes文件中没有.xml问题
在做spring+mybatiss时,自动扫描都配置正确了,却在运行时出现了如下错误.后来查看target/classes/.../dao/文件夹下,发现只有mapper的class文件,而没有xml ...
- javascript中两种基本常用排序算法分析
备注:内容大部分从网上复制,代码为自己手写.仅做知识的温故知新,并非原创. 1.冒泡排序(Bubble Sort) (1)算法描述 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两 ...
- Java中super关键字的作用与用法
Java中的super是什么?java中的super关键字是一个引用变量,用于引用父类对象.关键字“super”以继承的概念出现在类中.主要用于以下情况: 1.使用super与变量:当派生类和基类具有 ...