PHP Laravel foreach不会修改该值

时间:2017-06-15 03:40:27

标签: php foreach pass-by-reference laravel-5.4

我正在编写代码来对父级中的雄辩关系实例进行排序。

$categories = CategoryMain::with('subs')->get();
    foreach($categories as &$category){
        $category->sub = $category->subs->sortBy('name');
    }

我在foreach循环中得到了正确的排列,我通过die(var_dump())确认;,

然而,一旦它在外面,它似乎根本没有改变。 为什么会这样?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情,看看输出是什么:

$categories = CategoryMain::with('subs')->get();

$counter = 0;
foreach($categories as $category) {
    $categories[$counter]->sub = $category->subs->sortBy('name');
    $counter++
}
//output the data of catgories
dd($categories);