1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Laravel 的 Eloquent ORM学习

Laravel 的 Eloquent ORM学习

时间:2021-02-13 18:52:42

相关推荐

Laravel 的 Eloquent ORM学习

创建模型

首先,创建一个 Eloquent 模型,生成的模型通常放在 app 目录中,但你可以通过 composer.json 随意地将它们放在可被自动加载的地方。所有的 Eloquent 模型都继承了 Illuminate\Database\Eloquent\Model 类。

示例:

查询

检索多个模型

Eloquent 的 all 方法会返回模型表中所有的结果。

由于每个 Eloquent 模型都可以当作一个 查询构造器,因此你还可以在查询中添加约束,然后使用 get 方法来获取结果:

注意: Eloquent 模型是查询构造器,因此你应当去阅读 查询构造器 提供的所有方法,以便你可以在 Eloquent 查询中使用。

集合

1、分块结果:如果需要处理数千个 Eloquent 记录,可以使用 chunk 命令。chunk 方法会检索 Eloquent 模型的「分块」,将它们提供给指定的 Closure 进行处理。在处理大型结果集时,使用 chunk 方法可节省内存:

注意:传递到方法的第一个参数是希望每个「分块」接收的数据量。闭包则被作为第二个参数传递,它会在每次执行数据库查询传递每个块时被调用。

2、使用游标:cursor 允许你使用游标来遍历数据库数据,该游标只执行一个查询。处理大量数据时,可以使用 cursor 方法可以大幅度减少内存的使用量:

检索单个模型/集合

除了从指定的数据表检索所有记录外,你也可以通过 find 或 first 方法来检索单条记录。这些方法不是返回一组模型,而是返回一个模型实例:

你也可以用主键数组为参数调用 find 方法,它将返回匹配记录的集合:

「找不到」异常

如果你希望在找不到模型时抛出异常,可以使用 findOrFail 以及 firstOrFail 方法。这些方法会检索查询的第一个结果。如果没有找到相应结果,就会抛出一个

如果没有对异常进行捕获,则会自动返回 HTTP 404 响应给用户。也就是说,在使用这些方法时,不需要另外写个检查来返回 404 响应:

你还可以使用 查询构造器 提供的 count、sum、max 以及其它 聚合函数。这些方法只会返回适当的标量值而不是整个模型实例:

插入和更新模型

1、save方法插入新数据。

要在数据库中创建新记录,只需创建一个新的模型实例,并在模型上设置属性,然后调用 save 方法:

2、更新

3、删除

可以在模型实例上调用 delete 方法来删除模型:

参考:

Eloquent: 入门

转载请注明:本文档由 Laravel China 社区 laravel- 组织翻译,详见 翻译召集帖。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。