繁体   English   中英

如何超越laravel集合中的属性值

[英]How to over ride property value in laravel collection

嗨,我正在尝试使用 foreach 循环来覆盖属性值。

这是我正在尝试的

$runningLeagues = $this->getLeagueListing('running', $clubIds);
// chanage city
foreach($runningLeagues as $d){
    $d->club->city = $d->city;
}
return $runningLeagues; 

但是如果我只是从循环中返回,我会得到正确的结果。 所以下面的代码有效。

foreach($runningLeagues as $d){
    $d->club->city = $d->city;
    return $d; // it shows the overridden city. It works.
}

我在俱乐部对象和外部对象中也有城市财产。 我想从外部城市属性值更改俱乐部对象内部的城市。

它保持相同的值。 它不会改变。

更新

似乎它更新了最后一个项目。 因此,如果最后一个属性 city 是“ss”,它将在所有属性中添加“ss”。

知道发生了什么吗? 谢谢你。

尝试这个:

第一的。 Laravel 集合each()方法:

$runningLeagues->each(function ($d) {
    $d->club->city = $d->city;
});

第二。 按收藏索引:

foreach($runningLeagues as $k => $d) {
    $runningLeagues[$k]->club->city = $d->city;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM