Thinkphp的 is null 查询条件是什么,以及exp表达式如何使用

一、总结

一句话总结:$map['name'] = array('exp','is null');

1、is null判断的常见错误写法有哪些?

1、

$map1['f_jieduan_id']=['=',null];
$map1['f_g_id']=['=',null];

2、

$map1['f_jieduan_id']=['is null'];
$map1['f_g_id']=['is null'];

3、

$map['name'] = array('is',null);//无法实现

2、thinkphp中exp表达式如何使用,作用是什么?

其实就是告诉thinkphp这是原生的sql语句

关于exp表达式:
可支持任何sql语法
如:

$map['id'] = array('between',array(1,5));

可写成:

$map['id'] = array('exp','between (1,5)');

还可用于数据更新:

$data['age'] = array('exp','age+1');
M('user')->where('id=1')->save($data);//该用户的年龄加1

二、Thinkphp的 is null 查询条件,以及exp表达式的使用

Thinkphp中若要用到 is null 查询条件,使用以下方法无法实现:

$map['name'] = array('is',null);//无法实现

可使用exp表达式:

$map['name'] = array('exp','is null');

关于exp表达式:
可支持任何sql语法
如:

$map['id'] = array('between',array(1,5));

可写成:

$map['id'] = array('exp','between (1,5)');

还可用于数据更新:

$data['age'] = array('exp','age+1');
M('user')->where('id=1')->save($data);//该用户的年龄加1
 
 
参考:Thinkphp的 is null 查询条件,以及exp表达式的使用 - CSDN博客
https://blog.csdn.net/codercwm/article/details/51523963
 

三、is null判断的常见错误写法

1、

$map1['f_jieduan_id']=['=',null];
$map1['f_g_id']=['=',null];

2、

$map1['f_jieduan_id']=['is null'];
$map1['f_g_id']=['is null'];

3、

$map['name'] = array('is',null);//无法实现
 

Thinkphp的 is null 查询条件是什么,以及exp表达式如何使用的更多相关文章

  1. thinkphp 同一字段不同查询条件实现

    搞定了 另外区间查询还可以支持更多的条件,只要是针对一个字段的条件都可以写到一起,例如:$map['name'] = array(array('like','%a%'), array('like',' ...

  2. Hibernate JPA 动态criteria语句针对null查询条件的特殊处理

    最近原Hibernate项目需要添加一个条件,结构有点类似下面的格式,学生和房间是多对一的关系,现在要查询所有没有房间的学生. Class Student{ @ManyToOne Room room; ...

  3. Thinkphp 查询条件 and 和 or同时使用即复合查询

            thinkphp 3.2快捷查询OR查询&分割表示AND查询讲解         快捷查询方式是一种多字段查询的简化写法,可以进一步简化查询条件的写法,在多个字段之间用|分割表 ...

  4. SQL Server 存储过程中处理多个查询条件的几种常见写法分析,我们该用那种写法

    本文出处: http://www.cnblogs.com/wy123/p/5958047.html 最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫,不知道各种 ...

  5. Thinkphp分页时查询条件保存方法

    web应用中经常要根据用户提交的查询条件进行过滤,再以列表方式显示在浏览器上.如果这种查询是多种条件的组合,并要进行分页显示,则如何在分页导航中保持查询条件,是必须解决的问题. 在Thinkphp中, ...

  6. SQLServer复合查询条件(AND,OR,NOT)对NULL值的处理方法

    在SQL的3值逻辑下,一个查询条件可以产生以下三种情况:TRUE,FALSE,NULL.只有那些满足WHERE子句的值是TRUE的记录才出现在结果表中. NULL值影响查询条件的结果,并且结果很微妙. ...

  7. Thinkphp用exp表达式执行mysql语句,查询某字段不为空is not null,自动增值

    Thinkphp用exp表达式执行mysql语句,查询某字段不为空is not null,自动增值 Thinkphp 的文档经常不够完整的表达MYSQL的各种组合,is not null在thinkp ...

  8. ThinkPHP可以支持直接使用字符串作为查询条件

    ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用数组或者对象来作为查询条件,因为会更加安全. 大理石平台哪家好 一.使用字符串作为查询条件 这是最传统的方式,但是安全性不高, ...

  9. Thinkphp 带查询条件数据分页

    //查询条件中如果有中文 $keyword= urldecode(I("request.keyword")); if ($keyword!=""){ $Mode ...

随机推荐

  1. 监控rman备份

    1.服务会话关联通道设置 set COMMAND ID 命令 2.查询V$PROCESS和V$SESSION 决定会话对应的RMAN的通道 3.查询V$session_LONGGOPS监控备份集和复制 ...

  2. C# 使用指针将不同值类型赋值到字节数组中

    C#指针操作字节数组 Demo(以添加short类型的值为例): //bytes:目标字节数组; offset:目标在字节数组的位置; value:添加的类型值public static unsafe ...

  3. 最短路径—Dijkstra 算法和Floyd 算法

    某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让行人很困扰. 现在 ...

  4. [SHOI2008]堵塞的交通(线段树维护联通性)

    题目 2行c列个点,开始时互不联通,支持给同一列或着同一行相邻的两个点连边,和询问两个点能否在一个联通块里. 1≤C≤100000 1<=操作数<=100000; 题解 线段树的又一个骚操 ...

  5. HDU 3277 Marriage Match III

    Marriage Match III Time Limit: 4000ms Memory Limit: 32768KB This problem will be judged on HDU. Orig ...

  6. ArcGIS api for javascript——明确的创建图层列表

    描述 本例展示了如何确切地创建一个地图服务里的图层列表.这个列表由HTML checkboxe组成,可用用于开关图层的可见性. 函数updateLayerVisibility()包含开关图层的逻辑.函 ...

  7. hdu1879 继续畅通project(最小生成树)

    继续畅通project Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  8. Firefox中使用pac

    https://campus.barracuda.com/product/websecurityservice/article/WSS/ConfigProxyWithPACFile/ https:// ...

  9. Java反射异常处理之InvocationTargetException

    java.lang.reflect.InvocationTargetException处理办法可能是没有引commons-lang3-3.x.jar包

  10. OpenGL编程逐步深入(一)创建一个窗口

    原文地址:http://ogldev.atspace.co.uk/ 原文中使用gnu make进行项目管理,本系列文章使用visual studio2012.在翻译过程中并非直译,加入了一些笔者个人观 ...