首页 > 解决方案 > 更改现有 Laravel 集合键的值

问题描述

我有一个 Laravel Collection $page,我试图根据另一个集合中的值更新一些值。但相反,更新一个新元素被添加到 $page。

在此处输入图像描述

    if($page->get('Lang') !== null ){
        $l = $page->get('Lang');

        foreach ($l as $thisLang => $value) {
            if($lang == $thisLang){
               //  this is where I am attempt is overwrite the variable
                $page->Name = $value->Name;

                break;
            }
        }
    }

作为 Laravel 的新手,我不确定自己做错了什么。任何代码更正表示赞赏。

我也试过:

 $page->update( ["Name" , $value->Name] );

但得到错误

 "Method Illuminate\Support\Collection::update does not exist."

标签: laravel-5

解决方案


而不是使用$page->Name需要使用$page['Name']
更正的代码是

if($page->get('Lang') !== null ){
    $l = $page->get('Lang');

    foreach ($l as $thisLang => $value) {
        if($lang == $thisLang){
           //  this is where I am attempt is overwrite the variable
            $page['Name'] = $value->Name;

            break;
        }
    }
}

推荐阅读