我有这样的JSon数据:
[{label":a, "value":{"name":"abc","address"="New York"}}]
我用
打印json成功了{!! $mydata !!}
但是当我尝试使用foreach时
@foreach($mydata['value'] as $value)
Member ID: {{ $value['name'] }}
@endforeach
laravel返回
ErrorException in Collection.php line 1108: Undefined index:value
我已经跟着这个:Laravel: How do I parse this json data in view blade?
任何人都可以提供帮助吗?
注意:JSON和Variable不是真正的我的。我改变它是为了简单。
编辑:
添加{{ dd(json_decode($tagihan, true)) }}
并返回
Result after added {{ dd(json_decode($tagihan, true)) }}
编辑:
这是我的JSON:
array:5 [▼
0 => array:7 [▼
"id" => 8
"no_rek_pelanggan" => 11115
"keadaan_meteran" => 0
"angka_meteran" => 3000
"created_at" => "2016-05-28 15:28:17"
"updated_at" => "2016-05-28 15:28:17"
"all_pelanggan" => array:7 [▼
"no_rek" => 11115
"nama" => "Wicak"
"alamat" => "Malang"
"long" => 112.6153447
"lat" => -7.9528411
"created_at" => "2016-05-26 00:00:00"
"updated_at" => "2016-05-26 05:00:00"
]
]
我想在all_pelanggan中读取nama,alamat,long,lat中的值。我怎么做到的?
答案 0 :(得分:4)
如果您确实想在视图中使用json编码数据,请在foreach
中使用json_decode():
@foreach(json_decode($mydata, true) as $value)
Member ID: {{ $value['all_pelanggan']['name'] }}
@endforeach
答案 1 :(得分:1)
您没有按照提供的问题进行操作。如上所述,你应该在控制器中解码你的json:
return view('your-view')->with('mydata', json_decode($mydata, true));
答案 2 :(得分:0)
首先,你有一个JSON数组。但是您正在尝试获取JSON对象。
如果您确定只有一个对象,则在控制器Model::<selection-criteria>->first();
中使用它,以便它返回一个JSON对象。然后&#34;你的foreach&#34;将来工作。
如果您不确定只有一个对象或将来会有更多对象,那么请保留您的选择语句(最后有->get()
)。所以它将返回一个数组。
现在修改你的foreach以获取该数组。那就是你的数据集是一个数组,每个元素都是带有子对象的JSON对象。
@foreach($mydata as $myDatum)
@foreach($myDatum as $val)
Object label: {{ $val['label'] }}
Member Name: {{ $val['value']->name }}
Member Address: {{ $val['value']->address }}
@endforeach
@endforeach
答案 3 :(得分:0)
请你试试以下
@for ($i = 0; $i < count($myData); $i++)
Member ID: {{ $myData[i]['value'] }}
@endfor
我希望有效。