当前位置: 首页 > 面试题库 >

find(),findOrFail(),first(),firstOrFail(),get(),list(),toArray()之间有什么区别

曾飞沉
2023-03-14
问题内容

这些方法之间有什么区别:

  1. find()
  2. findOrFail()
  3. first()
  4. firstOrFail()
  5. get()
  6. list()
  7. toArray()

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


问题答案:
  1. find($id) 接受一个I​​D并返回一个模型。如果不存在匹配的模型,则返回null

  2. findOrFail($id) 接受一个I​​D并返回一个模型。如果不存在匹配的模型,则会引发错误1。

  3. first() 返回在数据库中找到的第一条记录。如果不存在匹配的模型,则返回null

  4. firstOrFail() 返回在数据库中找到的第一条记录。如果不存在匹配的模型,则会引发错误1。

  5. get() 返回与查询匹配的模型的集合。

  6. pluck($column) 返回仅给定列中的值的集合。在以前的Laravel版本中,此方法称为lists

  7. toArray() 将模型/集合转换为简单的PHP数组。

注意: 集合是一个增强的数组。它的功能类似于数组,但具有许多附加功能,如docs中所示。

不幸的是,PHP不允许您在可以使用数组的任何地方使用集合对象。例如,在foreach循环中使用集合是可以的,但将其传递给它array_map是不可行的。同样,如果您将参数类型提示为array,PHP将不允许您将其传递给集合。从PHP
7.1开始,有iterabletypehint,它可以用来接受数组和集合。

如果要从集合中获取纯数组,请调用其all()方法

1findOrFailfirstOrFail方法引发的错误是ModelNotFoundException。如果您自己没有捕获到此异常,Laravel将以404响应,这是您大多数时候想要的。



 类似资料:
  • 我一直在学习如何使用java编程,但我还没有明确解释的和方法的区别。第二个只是将LinkedList对象中的所有元素作为数组返回,对吗?但是,第一个呢? 编辑: 我的意思是,我从甲骨文中阅读了文档,它说: 返回一个数组,其中包含此列表中所有元素的正确顺序(从第一个元素到最后一个元素);返回数组的运行时类型是指定数组的运行时类型。如果列表适合指定的数组,则返回该数组。否则,将使用指定数组的运行时类型

  • 问题内容: 我想知道和之间有什么区别。我知道最后一个是常规的ID分配,但第一个看起来不同。有什么特别之处? 我在哪里看到的: 我正在研究ListView,ListAdapter之类的东西,作者在布局xml文件中定义了ListView,如下所示: 我也要提一下id 他还扩大了课堂。 这是文章的出处。 还有我在想什么问题: 我们应该扩展吗?也许我想要一个还包含其他视图的活动。 我们只是因为扩展而使用,

  • 问题内容: 自从我再次开始使用Java进行编程以来,我就一直在使用HashMaps,而实际上并没有真正理解这些Collections的知识。 老实说,我不确定完全使用HashMaps是最适合我还是生产代码。到目前为止,对我而言,只要我能够获取需要用PHP调用它们的方式的数据对我来说都没关系(是的,我承认您现在正在考虑的任何负面想法)在哪里提供了极大的方便回忆变量数组。 所以现在,我已经使用Java

  • 问题内容: 需要了解的区别和使用python2.7 两者都返回一个列表,那么到底有什么区别? 问题答案: 在Python 3.x中, 返回一类不可变的可迭代对象,它使您可以对其进行迭代,它不生成列表,并且它们不将范围内的所有元素存储在内存中,而是在运行时生成元素(当您对其进行迭代时) ,而产生一个列表(通过遍历所有元素并在内部追加到列表中)。 范例- 理想情况下,如果只想遍历该值的范围,则速度会更

  • 问题内容: 我不能告诉之间的区别和 例如说,您有一个div → 作为其父级的第一个孩子的所有元素。 →所有元素都是其父元素的第一个元素。 这似乎完全一样,但是它们的工作方式不同。 有人可以解释一下吗? 问题答案: 父元素可以具有一个或多个子元素: 在这些孩子中,只有一个可以成为第一个。与之匹配: 和之间的区别是,它将匹配其元素类型的第一个元素,该元素类型在HTML中由其标记名表示, 即使该元素不是

  • 这个版本新增6个方法,find(),first(),last(),eq(),get(),ajax 先给出代码 find : function(selector) { if(!selector) return; var context = this.selector; return new Kodo(context + ' ' + selector); }, first :