紧接上篇文章,对这个数据库查询构建器进行详解:
$result = Db::table('banner_item')->where('banner_id','=',$id)->select();
Db:封装数据库的具体操作的类,只要是有操作数据库的需求,就用Db类;
table(‘banner_item’)->where(‘banner_id’,‘=’,$id):辅助方法/链式方法;
Select/find:数据库的操作方法。
辅助方法/链式方法无论添加多少,都不会翻译和执行sql语句
数据库的操作方法:
1、读方法:select/find;
2更新方法:update;
3、删除:DELETE;
4、插入:insert;
辅助方法/链式方法之所以不会执行sql语句,是因为每一个辅助方法执行结束之后都会返回一个query对象,可以再查询构建器里面添加任意多的辅助方法,无论添加多少辅助方法,最终得到的都是一个query对象。
辅助方法注意事项:
1、必须在数据库操作方法之前调用;
2、不同的链式方法之间没有先后顺序(因为每一步返回的都是query对象);
3、相同的链式方式的顺序可能对最终的查询结果是有影响的。
4、Db对象状态在调用数据库操作方法之后就会被清除,如果后面还有一个Db查询,则两侧Db没有任何关系