where("id","exp","=",1],"or") //id在1~3之" />
入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

ThinkPHP5-简单的批量查询

创建时间:2017-06-23 投稿人: 浏览次数:1968
TP5的EXP、批量查询、聚合查询等。


<!--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 	hinkdbQuery;$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

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。