tp5.1的模型类查询

浏览:4913 发布日期:2018/01/29 分类:求助交流
在处理一个单表分页时,有一个查询条件,用户输入id或者名称来查询符合的条件
代码如下 $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的方式,把二者共同的查询部分构建出来,然后再根据情况自定义剩余差异的查询部分?
最佳答案
评论() 相关
后面还有条评论,点击查看>>