laravel-5 - 更改现有 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."
解决方案
而不是使用$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;
}
}
}
推荐阅读
- linked-list - 使用嵌套 for 循环遍历大小为 n 的链表的时间复杂度
- terraform - 如何让 Terraform 用默认值替换空值?
- python - 如何定义字典,其值显示什么类型应该是属性,哪个名称用作键?
- jenkins - 如何将 jar 文件从 jfrog 工件导入 Jenkins .m2 存储库?
- javascript - 为什么 XMLHttpRequest 中的 event.total 总是 0,除非 Content-Type 是 PDF?
- php - PHP 存储函数
- javascript - 使用导入/导出模块时出现“参考错误:未定义”
- git - Git cherry-pick 是正确的解决方案
- angular - Angular:如何用无线电组替换 mat-hint 文本?
- media-queries - 如何修复不同设备角度站点中的屏幕调整大小?