php - 拉拉维尔。调用 toArray() 后,attribute 属性值发生变化
问题描述
我想从客户表中获取地址数据。但我的地址数据包括国家、城市和地址。因此,我想将地址字段设置为国家、城市和地址三个字段。
以下是我的代码
$result = Customer::select('customers.address AS country', 'customers.address AS city', 'customers.address')->get();
dump($result[0]); // First result
$temp = $result->toArray();
dd($temp[0]); // Second result
以下是我的问题:
- 为什么国家和城市在属性属性中发生了变化?我什么也没做。
这是魔术。我将 [country] 更改为 [countrys] 并将 [city] 更改为 [citys]。以下是我的新代码
$result = Customer::select('customers.address AS countrys', 'customers.address AS citys', 'customers.address')->get();
dump($result[0]);
$temp = $result->toArray();
dd($temp[0]);
国家和城市的属性属性不再变化。
任何人都可以高我为什么?这真的很奇怪。
解决方案
根据 Laravel 文档:
该
toArray
方法将集合转换为普通的 PHP 数组。如果集合的值为Eloquent models
,则模型也将转换为数组
阿斯洛
toArray
还将集合的所有嵌套对象转换Arrayable
为数组的实例。如果要获取原始底层数组,请改用 all 方法。
推荐阅读
- reactjs - reactjs中如何发布webrtc直播
- c++ - 根据图案扫描字符
- python - 如何在matplotlib中的三列图的中心对齐两个图
- json - JSON Schema - 只允许属性的特定枚举值并拒绝其余的
- exception - 使用“excel = new Microsoft.Office.Interop.Excel.Application();”创建 Excel 时出现异常
- android - 如何在 proteus 库中使用自定义适配器?
- .net - 如何删除 System.Xml.XmlElement(不是 XElement)Outerxml xmlns?
- spring-boot - Spring Boot WAR项目中的@ConfigurationProperties
- java - 无法在我的列表视图中添加删除功能
- java - Spring JPA @Query - 尝试对多个 SQL 参数使用 1 个参数;收到有关 SQL 语法的错误消息