thinkphp-where-表达式查询

语法

where(‘字段名‘,‘表达式‘,‘查询条件‘);

表达式列表

表达式 含义
EQ、= 等于(=)
NEQ、<> 不等于(<>)
GT、> 大于(>)
EGT、>= 大于等于(>=)
LT、< 小于(<)
ELT、<= 小于等于(<=)
LIKE 模糊查询
[NOT] BETWEEN (不在)区间查询
[NOT] IN (不在)IN 查询
[NOT] NULL 查询字段是否(不)是NULL
[NOT] EXISTS EXISTS查询
EXP 表达式查询,支持SQL语法
> time 时间比较
< time 时间比较
between time 时间比较
notbetween time 时间比较

示例

where(‘id‘,‘eq‘,100);
where(‘id‘,‘=‘,100);
where(‘id‘,100);
where(‘id‘,‘neq‘,100);
where(‘id‘,‘<>‘,100);
where(‘id‘,‘gt‘,100);
where(‘id‘,‘>‘,100);
where(‘id‘,‘egt‘,100);
where(‘id‘,‘>=‘,100);
where(‘id‘,‘lt‘,100);
where(‘id‘,‘<‘,100);
where(‘id‘,‘elt‘,100);
where(‘id‘,‘<=‘,100);
where(‘name‘,‘like‘,‘thinkphp%‘);
where(‘name‘,‘like‘,[‘%think‘,‘php%‘],‘OR‘);
where(‘id‘,‘between‘,‘1,8‘);
where(‘id‘,‘between‘,[1,8]);
where(‘id‘,‘not in‘,‘1,5,8‘);
where(‘id‘,‘not in‘,[1,5,8]);
where(‘name‘, null);
where(‘title‘,‘null‘);
where(‘name‘,‘not null‘);

where(‘title‘,‘=‘, ‘null‘);
where(‘name‘,‘=‘, ‘not null‘);
where(‘id‘,‘in‘,‘1,3,8‘);
where(‘id‘,‘exp‘,‘ IN (1,3,8) ‘);
时间: 2024-10-06 15:53:57

thinkphp-where-表达式查询的相关文章

thinkphp 表达式查询

上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式支持更多的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式: $map['字段名'] = array('表达式','查询条件'); 大理石平台规格 表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是: 表达式 含义 协助记忆 EQ 等于(=) equal NEQ 不等于(<>) not equal GT 大于(>) greater EGT 大于等于(>=) equal or greater

thinkphp的普通查询与表达式查询

一.普通查询方式 a.字符串:$arr=$m->where("sex=0 and username='gege'")->find();//字符串需要加引号 b.数组 $data['sex']=0; $data['username']='gege'; $arr=$m->where($data)->find();//传上一个数组进行查询,这种方式默认是and(并且)的关系 注意:如果使用or关系,需要添加数组值 $data['sex']=0; $data['user

ThinkPHP 多表查询-如果字段A相同,则把字段B相加

在一个项目中,需要查询表tr_product中的user_id字段,如果user_id相同,则把其对应的money字段相加,数据库截图如下: 实现代码: $Model = D('Model'); $res =$Model->query("SELECT user_id,sum(money) from tr_order GROUP BY user_id"); 结果: array (size=2) 0 => array (size=2) 'user_id' => strin

ThinkPHP多表查询

ThinkPHP多表查询处理 ThinkPHP多表连接查询处理 ThinkPHP关联查询(多表查询) 网上找到三种方法:table().join().原生SQL语句查询.(以下三种方法输出结果一致,并且很好的保留了ThinkPHP自己的分页功能) 第一种:table()方法 实例:需要连接查询两张表(表agent和表transinfo) $Model=new Model(); $sqlcount="select count(*) as mycount  from agent a ,transin

CRL快速开发框架系列教程二(基于Lambda表达式查询)

本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(

THINKPHP 中关联查询(多表查询)

THINKPHP 中关联查询(多表查询)可以使用 table() 方法或和join方法,请看示例: 1.Table方法:定义要操作的数据表名称,可以动态改变当前操作的数据表名称,需要写数据表的全名,包含前缀,可以使用别名,例如: $Model->Table('think_user user') ->where('status>1') ->select(); $Model->table('think_blog blog,think_type type')->where('

执行多个lanmada表达式查询

/// <summary> /// 执行多个lanmada表达式查询 /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="row">每页条数</param> /// <param name="page">当前页</param> /// <param name

Thinkphp的SQL查询方式

一.普通查询方式 a.字符串$arr=$m->where("sex=0 and username='gege'")->find();b.数组$data['sex']=0;$data['username']='gege';$arr=$m->where($data)->find();注意:这种方式默认是and的关系,如果使用or关系,需要添加如下数组值$data['_logic']='or'; 二.表达式查询方式 $data['id']=array('lt',6);

Thinkphp 连接数据库、查询、添加

一.连接数据库配置及Model数据模型层 1. Thinkphp\conf\convertion.php中找到数据库设置部分,复制到自己的配置文件中,并添加好有关数据库的内容 JiaoWu\Home\conf\config.php: 2. 制作model模型 a)  model本身就是一个类文件 b)  数据库中的每个数据表都对应一个model模型文件 c)  最简单的数据model模型类 在Home\Model文件夹中新建一个模型文件:InfoModel.class.php <?php nam

(转)ThinkPHP find方法 查询一条数据记录

find() ThinkPHP find() 方法是和 select() 用法类似的一个方法,不同之处 find() 查询出来的始终只有一条数据,即系统自动加上了 LIMIT 1 限制. 当确认查询的数据记录只能是一条记录时,建议使用 find() 方法查询,如用户登录账号检测: public function chekUser(){ header("Content-Type:text/html; charset=utf-8"); $Dao = M("User");