laravel中的数据库高级操作(DB写法)

简介:

数据库查询构造器提供了一个方便的流接口用于创建和执行数据库查询。查询构建器可以用于执行应用中绝大部分数据库操作,并且能够在laravel支持的所有与数据库系统上工作.

laravel查询构建器使用PDO参数绑定来避免sql注入攻击,不再需要以绑定方式传递的字符串.

获取结果集

从一张表中取出所有行

我们可以从DB类下的table方法开始, table方法为给定的表返回一个流式查询构建器实例,该实例允许你在查询上链接多个约束条件并返回最终的查询结果.在本例中,我们使用get方法获取表中所有的记录.

2017-12-29 16-17-23屏幕截图.png

get方法返回包含结果集的Collection对象 ,其中每一个结果都是PHP的StdClass对象的实例:

mysql.jpg

还可以在返回数组中为列值自定义键(该自定义键必须是该表的其他字段列名,否则会报错):

2017-12-29 16-18-34屏幕截图.png

如果你需要处理成千上百条数据库记录,可以使用chunk方法传入一个闭包来节省内存:

2017-12-29 16-19-11屏幕截图.png

查询(select):

指定查询子句

当然,我们并不总是想要获取数据表的所有列,使用select方法,你可以为查询指定自定义的select字句:

2017-12-29 16-20-07屏幕截图.png

原生表达式

当你需要直接使用sql查询数据表时可以使用以下方法.但是如果这么使用会将sql语句以字符串的形式注入到查询中,所以这里要格外小心sql注入式攻击.

2017-12-29 16-20-38屏幕截图.png

这种方法更多详细见laravel文档, 还是不建议使用这种方法,因为这回极大的增加受到sql注入式攻击的可能.

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容