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

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

WBOY
WBOYOriginal
2016-06-07 11:35:522026Durchsuche

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元

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn