>  기사  >  php教程  >  Thinkphp中如何表达MYSQL中的某字段不为空is not null

Thinkphp中如何表达MYSQL中的某字段不为空is not null

WBOY
WBOY원래의
2016-06-07 11:35:522027검색

Thinkphp 的文档经常不够完整的表达MYSQL的各种组合,很多东西需要被尝试后才能知道,笔者就遇到过一个问题,MYSQL查询语句中有个表达式is not null ,在thinkphp中就不能用“=” 或者简单的eq等来表示。
有一种变相的处理方法就是直接把where中的array参数换成string,即比如我要查询某表的pic不为空$data = D('tablename');<br> $data->where(“pic is not null”)->select();而有时候我已经写了一堆的array参数,实在不愿意为了一个字段改变整体格式,
经过多次测试发现了TP还是支持MYSQL不为空的array编写方式的,即$data = D('tablename');<br> $map = array();<br> $map['pic'] = array('exp','is not null');其中的exp表示MYSQL的表达式查询,支持各种MYSQL语句的添加
该写法同时支持在update中对字段进行自动增值
比如
SQL语句 update table set data=data+1;用THINKPHP可以表达为$data['data'] = array('exp','data+1');<br> $table->where(1)->save($data);

AD:真正免费,域名+虚机+企业邮箱=0元

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.