代码如下
$page = $this->request->get('page',0,'intval');
$limit = $this->request->get('limit',0,'intval');
$keyword = $this->request->get('query_str','','htmlspecialchars');
$data = UserModel::where('status',1)->where(function($query) use($keyword){
$query->where('id',$keyword)->whereOr('username','like',"%$keyword%");
})->limit($page, $limit)->select();
$count = UserModel::where('status', 1)->where(function($query) use($keyword){
$query->where('id',$keyword)->whereOr('username', 'like', "%$keyword%");
})->count();生成的sql如下SELECT * FROM `user` WHERE `status` = 1 AND ( `id` = 3 OR `username` LIKE '%3%' ) LIMIT 1,10
SELECT COUNT(*) AS tp_count FROM `user` WHERE `status` = 1 AND ( `id` = 3 OR `username` LIKE '%3%' ) LIMIT 1
要查询总数的时候,总是要自己从User模型开始构建查询,tp5.1有没有提供一个QueryBuild的方式,把二者共同的查询部分构建出来,然后再根据情况自定义剩余差异的查询部分?
最佳答案