【发布时间】:2021-10-06 09:11:32
【问题描述】:
为了简化问题,当我遍历 eloquent 查询返回的对象数组时,当我尝试更改其中一个属性时,它似乎正在更改它们的所有属性。
假设 fruits 是 eloquent 查询返回的数据
var fruits =[{name:apple,nested_relationship:{price:$5},{name:pear,{price:$6},{name:grape}]
foreach ($fruits as fruit){
if($fruit->name == 'apple'){
$fruit->nested_relationship->color = 'red';
}
elseif($fruit->name == 'grape'){
$fruit->nested_relationship->color = 'green';
}
}
最后的结果好像是[{name:'apple',nested_relationship:{price:$5,color:'green'}},{name:pear,nested_relationship:{price:$5,color:'green'}},},{name:'grape'}]
谁能告诉我这是怎么回事?
【问题讨论】:
-
在这里找不到问题。我认为我们需要查看您的原始代码。
-
@ya-cha 我做了一些编辑以更好地反映情况。嵌套关系可能是导致问题的原因吗?
-
nested_relationship 是否可能是同一个关系?
-
@ya-cha 你是什么意思?这个stackoverflow.com/questions/69463617/… 可能更能代表这个问题,如果可能,请帮助我
-
和@ya-cha 如果关系相同,是否可以编辑一个而不编辑另一个