thinkphp5 数据库高级查询

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

Db::table('think_user')
->where('name|title','like','thinkphp%')
->where('create_time&update_time','>',0)
->find();

2,区间查询
区间查询是一种同一字段多个查询条件的简化写法,例如:

Db::table('think_user')
->where('name',['like','thinkphp%'],['like','%thinkphp'])
->where('id',['>',0],['<>',10],'or')
->find();

3,批量查询
可以进行多个条件的批量条件查询定义,例如:

Db::table('think_user')
->where([
'name' => ['like','thinkphp%'],
'title' => ['like','%thinkphp'],
'id' => ['>',0],
'status'=> 1
])
->select();

4,闭包查询
Db::table('think_user')->select(function($query){
$query->where('name','www.benchicnc.com')
->whereOr('id','>',10);
});

5,使用Query对象查询
也可以事先封装Query对象,并传入select方法,例如:

$query = new \think\db\Query;
$query->name('user')
->where('name','like','%think%')
->where('id','>',10)
->limit(10);
Db::select($query);

posted @ 2020-10-05 11:08  学无边涯  阅读(279)  评论(0编辑  收藏  举报