我有一个循环设置一些json值。
if (isset($product->customfields)) {
foreach ($product->customfields as $customfield) {
$fieldId = $customfield['custom_field_id'];
// Grab custom field template code
$field = CustomField::find($fieldId);
$product->attributes['display_name'] = $field->display_name;
}
}
我试图添加的显示名称在这里
$product->attributes['display_name'] = $field->display_name;
在我的转储中,我可以看到json就是这个
"id":"20",
"display_name":"Size",
"customfields":[
{
"id":"1",
"product_id":"20",
"store_id":null,
"custom_field_id":"1",
"value":"RED",
"created_at":"2016-09-14 09:32:00",
"updated_at":"2016-09-14 09:32:14"
},
但是当我尝试改变这个
时 $product->attributes['customfields']['display_name'] = $field->display_name;
$product->attributes['customfields'] = $field->display_name;
我刚拿到这个
"id":"20",
"customfields":[
{
"id":"1",
"product_id":"20",
"store_id":null,
"custom_field_id":"1",
"value":"RED",
"created_at":"2016-09-14 09:32:00",
"updated_at":"2016-09-14 09:32:14"
},
如何设置要添加到customfields键的属性?
编辑:
感谢@Manish的建议
$ product-> customfields - ['display_name'] = $ field-> display_name;
现在返回
"customfields":{
"0":{
"id":"1",
"product_id":"10000",
"store_id":null,
"custom_field_id":"1",
"value":"RED",
"created_at":"2016-09-14 09:32:00",
"updated_at":"2016-09-14 09:32:14"
},
"1":{
"id":"2",
"product_id":"10000",
"store_id":null,
"custom_field_id":"2",
"value":"",
"created_at":"2016-09-14 10:22:14",
"updated_at":"2016-09-14 10:22:14"
},
"display_name":"Size"
},
但是在自定义显示名称中有两个字段,其中包含“大小”和“颜色”。我想我可能需要创建一个新循环并循环显示display_name。如果是这种情况,请告知我,我会这样做。
答案 0 :(得分:2)
@ServerSideSkittles可能我明白了你的意思。可能是我错了,但根据你的细节,我认为你需要这个。
<template extended></template>
试试这个。可能会解决这个问题。