一般查询
$data_gt [ 'id' ] = array ( 'gt' , 8 ) ;
$data_egt [ 'id' ] = array ( 'egt' , 8 ) ;
$data_lt [ 'id' ] = array ( 'lt' , 8 ) ;
$data_elt [ 'id' ] = array ( 'elt' , 8 ) ;
$data_eq [ 'id' ] = array ( 'eq' , 8 ) ;
$data_neq [ 'id' ] = array ( 'neq' , 8 ) ;
like模糊查询
$data_like [ 'username' ] = array ( 'like' , '%A%' ) ;
$data_like [ 'username' ] = array ( 'like' , '%A%' ) ;
$data_notlike [ 'username' ] = array ( 'notlike' , '%A%' ) ;
like多匹配查询
包含A 或者2 的所有username, 如果数组中没有第三个参数,那么默认是or 的关系
$data_like_mul_or [ 'username' ] = array ( 'like' , array ( '%A%' , '%2%' ) , 'or' ) ;
包含A 和2 的所有username,如果要求是和的关系,要在数组中添加第三个参数:and
$data_like_mul_and [ 'username' ] = array ( 'like' , array ( '%A%' , '%2%' ) , 'and' ) ;
实例:
$keyword = [ '%value1%' , '%value2%' , '%value3%' ] ;
DB :: table ( 'curriculum' )
-> where ( 'title' , 'like' , '%' . $title . '%' )
-> whereOr ( 'title' , 'like' , $keyword , 'or' )
-> field ( 'title' )
-> select ( ) ;
Between区间查询
查询id在6 到13 之间(包括两端的值)的记录
$data_between [ 'id' ] = array ( 'between' , array ( 6 , 13 ) ) ;
查询id不在6 到13 之间(不包括两端的值)的记录,注意在这里not与between之间一定要有空格
$data_not_between [ 'id' ] = array ( 'not between' , array ( 6 , 13 ) ) ;
In区间查询
查询id在此数组中的记录
$data_in [ 'id' ] = array ( 'in' , array ( 6 , 7 , 8 , 9 , 10 ) ) ;
查询id不在此数组中的记录,注意这里not与in之间也是要用空格的
$data_not_in [ 'id' ] = array ( 'not in' , array ( 6 , 7 , 8 , 9 , 10 ) ) ;
多字段相同查询
$data_like [ 'title|username' ] = array ( 'like' , "%{ $key } %" ) ;
多字段不相同查询
$data [ 'status&score&title' ] = array ( '1' , array ( 'gt' , '0' ) , 'thinkphp' , '_multi' => true ) ;
'_multi' => true 必须加在数组的最后,表示当前是多条件匹配,这样查询条件就变成 status= 1 AND title = 'thinkphp'
转载链接🔗:https://www.jb51.net/article/148016.htm