ThinkPHP5数据库实例详解
/ThinkPHP 5数据库重构
ThinkPHP 5数据库重构
ThinkPHP 5.0 数据库重构
TP5的数据库操作与之前3.2.3相比,有了质的飞跃,其SQL语句的构成思路与是颠覆性的。最主要体现:SQL语句的分层管理。
数据库操作类拆分为
- Connection(连接器)
- Query(查询器)
- Builder(SQL生成器)
如此一来,SQL标准查询语句就可分为三个部分,各司其责。
- Connection(连接器):负责生成数据库连接实例,即创建到指定数据库的连接;
- Query(查询器:负责生成查询条件表达式,即各类链式操作由该类完成,即原来的终极方法,完成对数据表的CURD操作(增删改查)
- Builder(SQL生成器):负责最终SQL语句的生成。
实例:查询员工表staff中工资大于等于5000元的姓名和部门
代码如下:
//数据库连接配置字符串 $dbConfig = 'mysql://root:root@localhost:3306/tp5#utf8'; //将配置字符串做为connect()的参数传入 $result=Db::connect($dbConfig) //创建数据库连接 ->table('think_staff') //选择数据表 ->field(['name'=>'姓名','dept'=>'部门']) ->where(['salary'=>['>=',5000]]) ->select(); //输出结果集 //以二维数据方式返回结果集 dump();
代码分析
1、连接器:Db::connect($dbConfig)//创建数据库连接
2、查询器: ->table('think_staff') //选择数据表
->field(['name'=>'姓名','dept'=>'部门'])
->where(['salary'=>['>=',5000]])
3、SQL生成器->select(); //输出结果集