使用ThinkPHP5框架怎么实现一个批量查询功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
具体如下:
<!--more--> //使用EXP条件表达式,表示后面是原生的SQL表达式 $result = Db::table('think_inno')->where('id','exp',"<10 and name='asd'")->select(); dump($result); //使用and和or进行混合查询 $result = Db::table('think_inno') ->where('name','like','%think%') //name类似%thinkphp% ->where('id',['in',[1,2,3]],['>=',1],'or') //id在1~3之间,或者id>=1 ->limit(2) ->select(); //批量查询 $result = Db::table('think_inno') //批量查询 ->where(['id' => [['in',[1,2,3]],['>=',1],'or'], 'name' => ['like','%think%']]) //(id在1~3中或者id>=1 )并且name类似think ->limit(10) ->select(); //快速查询 $result = Db::table('think_inno')->where('id&num','>',1)->select(); id&num表示and;id&num表示or; //关于视图 将查询的结果作为一张虚拟的表;TP里直接用Db::view来使用视图 $result = Db::view('think_inno','id,name')......; //think-inno为表名,id,name为要查的字段 //使用query对象 $query = new \think\db\Query;$query->table('think_inno')->where('name','like','think')->where('id','>=','3')->limit(10); $result = Db::select($query); print_r($result); //获取某列某行的某个值 $name = Db::table('think_inno')->where('id',10)->value('name'); print_r($name); //取到id为10的name字段的值 //获取某列column $name = Db::table('think_inno')->where('status',1)->column('name'); //取出status为1对应name列的所有值 //获取某一行find //获取id键名的数据集 $name = Db::table('think_inno')->where('num',0)->column('*','id'); print_r($name); //聚合查询count、max、min、avg、sum $count = Db::table('think_inno')->where('num',0)->count();//获取num为0的对应的数据量 $count = Db::table('think_inno')->where('num',2)->max('id');//获取num为2的最大的id
关于使用ThinkPHP5框架怎么实现一个批量查询功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。