在TP3中想要or查询

条件可以为:

$condition['grade'] = 1;

$condition['class'] = 3;

$condition['sex'] = 2;

$condtion['_logic'] = 'OR';

$list = M(‘user’)->where($condtion)->findall();

然后在TP5中尝试用where去这么查询发现一直在报错,查了手册之后发现TP5取消了_logic作为查询方式,而是新增了whereOr方法,下面是TP5中查询方式

User.php

namespace app\index\controller;

use app\index\model\UserModel;

class User

{

public function index()

{

$condition['grade'] = 1;

$condition['class'] = 3;

$condition['sex'] = 2;

$UserModel = new UserModel;

$list = $UserModel->getlistwhereOr($condition);

print_r($list);

}

}

UserModel.php

namespace app\index\model;

use app\common\model\CommonModel;

use think\Db;

use think\Model;

class UserModel extends CommonModel

{

public function __construct(){

parent::__construct();

}

protected $name = 'User';

public function getlistwhereOr($condition) {

$list =Db::name($this->name)->whereOr($condition)->select();

return $list;

}

}

执行User.php 发现打印出来的数据就是我们要的筛选数据,

总结:TP5相比TP3中更新了很多我们经常用到的查询方式,而且写法更人性化,需要经常的去整理查看这些新方法

或者也可以用$where['custom_name|custom_phone'] = ['like', "%" . $post['keyword'] . '%'];这种方法或查询,如输入关键词模糊查找几个字段如下代码:

$where['land_no'] = 0;

if ($post['keyword']) {

$where['custom_name|custom_phone'] = ['like', "%" . $post['keyword'] . '%'];

}

$where['custom_id'] = 0;

$num = db('land')->where($where)->select();

3.采用闭包方式

tp5中采用闭包的方式:

$map['user_id']=1;

$map['status']=0;

$or_map['user_id']=$map['user_id'];

$or_map['audit']=['in',['1,2']];

$list = Db::name('table')->where(function ($query) use ($map){

$query->where($map);

})->whereOr(function ($query) use ($or_map){

$query->where($or_map);

})->select();

//生成的sql语句:

//SELECT * FROM `tp_table` WHERE  (  `user_id` = '1'  AND `status` = 0 ) OR (  `user_id` = '1'  AND `audit` IN ('1,2') )

4.普通方式

$where = [

'feed_uid' => [ 'eq' , 5] ,

'status' => [ [ 'eq' , 1] , [ 'eq' , 2 ] , [ 'eq' , 3 ] , 'or' ] ,

];

$value = DealSpace::where($where)->count();

//最终的查询条件为where feed_uid=5 and (status=1 or status =2 or status =3 )

这就是微学网-程序员之家为你提供的"TP5 Or查询的几种方法"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/14064.html

tp5 查询求和_TP5 Or查询的几种方法相关推荐

  1. 嗯,查询滑动窗口最大值的这4种方法不错....

    作者 | 王磊 来源 | Java中文社群(ID:javacn666) 转载请联系授权(微信ID:GG_Stone) 本文已收录至 Github<小白学算法>系列:https://gith ...

  2. 查询计算机上可用端口的两种方法

    在设备远程控制中,经常需要搜索设备上已安装端口号,例如在"计算机"→"设备"能看到的端口(COM和LPT).本文介绍的两种方法都是通过访问注册表实现的. 方法一 ...

  3. 电脑ip地址查询要怎么做?查询IP地址就看这3种方法

    电脑无法运转时,我们需要别人的帮忙的话,那就需要知道自己电脑的IP地址是什么.但是很多人不知道该从电脑哪里找到IP地址.电脑ip地址查询就看下面2种方法,让你轻松就能Get到技巧! 操作环境: 演示机 ...

  4. tp5 查询求和_tp5 sum某个字段相加得到总数的例子

    tp5 sum某个字段相加得到总数的例子,函数,助手,字段名,参数,积分 tp5 sum某个字段相加得到总数的例子 易采站长站,站长之家为您整理了tp5 sum某个字段相加得到总数的例子的相关内容. ...

  5. mysql删除重复的判断_MySQL中查询、删除重复记录一共有多少种方法?

    前言 本文主要给大家介绍了关于MySQL中查询.删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍: 查找所有重复标题的记录: select title,count(*) as coun ...

  6. mysql查询结果导出excel_Mysql查询结果导出为Excel的几种方法

    本文地址:http://www.cnblogs.com/qiaoyihang/p/6398673.html 具体原文找不到了,此篇是借鉴门户的一篇文章 方法一: 查询语句直接输出 语法格式: Exam ...

  7. MySQL关闭查询缓存(QC)的两种方法

    MySQL Query Cache 会缓存select 查询,安装时默认是开启的,但是如果对表进行INSERT, UPDATE, DELETE, TRUNCATE, ALTER TABLE, DROP ...

  8. 教你快速批量查询顺丰快递物流的两种方法

    如何利用快递批量查询高手批量查询顺丰快递的物流信息呢?今天小编给大家介绍软件中的两种功能来批量查询顺丰物流. 方法一:利用表格模板 首先选中快递批量查询高手中的"添加单号"功能,在 ...

  9. oracle工资在3000到5000,Oracle查询部门工资最高员工的两种方法 1、MAX()函数 2、RANK()函数...

    本文以SCOTT用户下初始的EMP表为参考.代码可直接使用. 查询EMP表结构的语句如下,[代码1]: DESC EMP; EMP表结构如下:[结果1]: SQL> DESC EMP; 名称 是 ...

  10. mysql查询_MySQL查看用户权限的两种方法

    MySQL查看用户权限命令的两方法: 一. 使用MySQL grantsmysql> show grants for username@localhost;实例:mysql> show g ...

最新文章

  1. P3258 [JLOI2014]松鼠的新家
  2. 技术新星决战巅峰,全国大学生操作系统设计赛圆满结束!
  3. 加密软件漏洞评测系统_惠州上线软件产品登记测试企业
  4. shell 第三次练习
  5. 空调在计算机系统属于什么行业,暖通行业隶属国民经济行业分类的哪一类
  6. java常用设计模式总结
  7. 用chrome开发的时候关掉AdBlock插件
  8. android与单片机wifi通信原理图,单片机怎么和wifi模块实现通讯_wifi模块与单片机通信原理 - 全文...
  9. 根据肠道微生物组重新思考健康饮食
  10. psf点扩散函数matlab,点扩散函数(PSF)调制
  11. php 公众号 发送图片,如何把图片发送到微信公众号上?
  12. CocosCreator之层级管理器
  13. 解决Ubuntu环境搜狗拼音候选区乱码问题
  14. 千锋Python培训教程合集
  15. SAP BASIS ADM100 中文版 Unit 9(5)
  16. 科兴与香港大学临床试验中心研究团队和香港港怡医院合作,在中国香港启动奥密克戎特异性灭活疫苗加强剂临床试验
  17. 华为云通用计算增强型C6到底怎么样?
  18. java分类读txt里面的数据_java分别读取两个txt文件里的数据再进行比较。再分别列出这两个文件中共有的和分别独有的数据。...
  19. 立德教育净利润下滑四成:股价早已“腰斩”,拟并购一所高校
  20. C语言编程精髓读书笔记(怎样有效地使用断言和避免自由主义编码)

热门文章

  1. idea 搜索不到gsonformat_Android Studio 4.1没有GsonFormat插件的解决
  2. Visio Professional 2016 破解教程
  3. gif生成工具(免费)
  4. python可视化三维矩阵点
  5. 【数据采集与数据清洗】课堂笔记
  6. 超级精简版/超精简/懂你版IDM 6.25 build 23推荐
  7. RAIM: A Reverse Auction-based Incentive Mechanism for Mobile Data Offloading through Opportunistic
  8. InnoDB 存储引擎(8)——InnoDB 存储引擎文件
  9. MySQL数据库InnoDB存储引擎底层原理详解
  10. Mifare Classic Tool (MCT),Android平台RFID工具