在thinkphp3中,where方法传入数组非常强大,可以组合任何形式的复杂查询条件,示例如下:


$where['name'] = array('like', '%www.codesou.cn%');
$where['title'] = array('like','%www.codesou.cn%');
$where['_logic'] = 'or';
$map['_complex'] = $where;

以上代码就是在thinkphp3中实现or查询的方法,但是到了thinkphp5中官方手册却并没有提及到where方法使用数组条件时,如何实现or或者and查询。

其实在thinkphp5中也包含这样的功能并且更加简单,是由thinkphp5快捷查询功能实现的,这里就给出ThinkPHP5数组查询条件中设置or或者and方法的写法:


$map['title|name']  = ['like','%www.codesou.cn%'];

附:快捷查询方式是一种多字段相同查询条件的简化写法,可以进一步简化查询条件的写法,在多个字段之间用|分割表示OR查询,用&分割表示AND查询,可以实现下面的查询