当你点击进来这里我就猜到,你肯定是因为用数组去判断字段是否为空吃了个大亏,哈哈哈!
没错,我也是碰了一鼻子灰,网上的教程如下:
$where['status']=array('EQ','NULL');这样打印sql是WHERE ( `status` = 'NULL' );
如果需要为 WHERE ( `status` IS NULL );那需要使用exp;
$where['status']=array('EXP','IS NULL');
这样子生成的就是is null了
奈何我得到的结果是:
还有是用这种的,我真服了这个老6
map1['status']=['is null']; map1['status']=['is null'];
甚至还有这种的:
map[] = ['字段名','null',''];//查询为NULL时的条件 $map[] = ['字段名','not null',''];//查询不是NULL时的条件
大哥,咱们给答案要么不给,要么测试完走通走正确再给行不?
这是啊码经过测试后得到的答案:【适用于thinkphp6,其他版本的我不知道哈,或许跟着上边老6的答案可以用,我没去做具体测试,或许我可能也是个老6】
Null的写法
$map1['status'] = ['exp',\think\Db::raw('is null')];
not Null的写法
$map1['status'] = ['<>','null'];
好了,今天的问题就到这里,还有问题的留个言,别忘了一键三连,下次我们还会再见!
我是黄啊码,码字的码,退。。。退。。。退。。。朝!