当前位置: 首页 > news >正文

不要调用 TOARRAY() 从 LARAVEL COLLECTION 中获取所有项目

Laravel 的Collection类非常棒。你可能在所有 Laravel 项目中都用到了它。

您经常需要将集合强制转换为常规数组。像我一样,您可能想toArray()这样做。但这可能是错误的调用方法。

在简单的集合上toArray工作就像预期的那样。

$collection = collect([1, 2, 3]);$collection->toArray(); // returns [1, 2, 3]

但这里有一个例子,它的行为可能与你预期的不一样。让我们尝试调用toArray一组 Eloquent 模型。

$usersCollection = User::all(); // returns a collection$usersArray = $usersCollection->toArray();ray($usersArray);

让我们看看Ray返回了什么

如你所见,集合中的模型也被转换为数组。这可能是你意想不到的。

要从集合中获取所有元素作为数组,必须调用all()而不是toArray()

 

$usersCollection = User::all(); // returns a collection$usersArray = $usersCollection->all();ray($usersArray);

在 Ray 中,您现在可以看到,数组包含User模型的实例

http://www.dtcms.com/a/237461.html

相关文章:

  • 【Linux】shell中的运行流程控制
  • 平面方程在不同坐标系下的变换与平移
  • Ubuntu 配置使用 zsh + 插件配置 + oh-my-zsh 美化过程
  • TongWeb7.0动态密钥说明
  • 设计一个算法:删除非空单链表L中结点值为x的第一个结点的前驱结点
  • 【LLM】fast-api 流式生成测试
  • 计算机是如何⼯作的
  • Day15
  • 长期施肥下红壤温湿度及电导率数据集
  • 【HarmonyOS 5】运动健康开发实践介绍以及详细案例
  • 篇章十 数据结构——Java对象的比较
  • 【Linux庖丁解牛】—系统文件I/O !
  • springCloud2025+springBoot3.5.0+Nacos集成redis从nacos拉配置起服务
  • 基于Java Swing的办公自动化系统设计与实现:附完整源码与论文
  • 创建一个纯直线组成的字体库
  • DenseNet算法 实现乳腺癌识别
  • 算法练习-回溯
  • 【题解-洛谷】P10448 组合型枚举
  • 学而思网校发布AI编程新品,四重升级培育未来创新人才
  • Vue 中 v-show 与 v-if 的深度对比与性能分析
  • 第二十六章 流程控制: case分支
  • 乐观锁与悲观锁的实现和应用
  • Java 泛型技术详解
  • 【判断既约分数】2022-4-3
  • JDK21深度解密 Day 13:性能调优实战案例:高并发系统与内存密集型应用的优化秘籍
  • 【数据结构初阶】--算法复杂度的深度解析
  • Linux编程:2、进程基础知识
  • 后端下载限速(redis记录实时并发,bucket4j动态限速)
  • 如何在 Java 中优雅地使用 Redisson 实现分布式锁
  • 【Redis系列 04】Redis高可用架构实战:主从复制与哨兵模式从零到生产