加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – find(),findOrFail(),first(),firstOrFail(),get(),list(

发布时间:2020-12-13 21:27:44 所属栏目:PHP教程 来源:网络整理
导读:这些方法有什么区别: find() findOrFail() 第一个() firstOrFail() get() list() toArray() 我一直在使用它们,每个都给出了不同的结果,有时我需要在get()的末尾添加toArray(),因为我的函数期待一个数组.其他方法也不会产生数组吗? 解决方法 find($id)获取
这些方法有什么区别:

> find()
> findOrFail()
>第一个()
> firstOrFail()
> get()
> list()
> toArray()

我一直在使用它们,每个都给出了不同的结果,有时我需要在get()的末尾添加toArray(),因为我的函数期待一个数组.其他方法也不会产生数组吗?

解决方法

> find($id)获取一个id并返回一个模型.如果不存在匹配模型,则返回null.
> findOrFail($id)获取一个id并返回一个模型.如果不存在匹配的模型,则抛出error1.
> first()返回数据库中找到的第一条记录.如果不存在匹配模型,则返回null.
> firstOrFail()返回数据库中找到的第一条记录.如果不存在匹配的模型,则抛出error1.
> get()返回与查询匹配的模型集合.
> pluck($column)返回给定列中的值的集合.在以前版本的Laravel中,此方法称为列表.
> toArray()将模型/集合转换为简单的 PHP数组.

注意:a collection是一个增强阵列.它的功能与数组类似,但具有许多附加功能,如您在the docs中所见.

不幸的是,PHP不允许您在任何可以使用数组的地方使用集合对象.例如,在foreach循环中使用集合是可以的,将其传递给array_map则不行.类似地,如果您将参数类型提示为数组,PHP将不允许您将其传递给集合.较新版本的PHP具有可迭代的类型提示,可用于接受数组和集合.

如果您想从集合中获取普通数组,请调用其all()方法.

1 findOrFail和firstOrFail方法抛出的错误是ModelNotFoundException.如果你自己没有捕到这个异常,Laravel will respond with a 404,这是你大多数时候都想要的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读