使用json
列类型使用Laravel 5.3和MySql 5.7。我无法在我的视图中循环保存的Json。以下是我的设置的外观:
"Merchants"
列中保存的JSON:
["stores", "website"]
使用Eloquent检索此JSON:
$navigation = Merchant::select('merchants')
->where('user_id', Auth::user()->id)
->get();
return View::make('dashboard', compact('navigation'));
最后我的查看:
@foreach($navigation as $key => $value)
<li><a href="#">{{$value->merchants}}</a></li>
@endforeach
结果不会循环保存的JSON
而只是显示保存的实际JSON,例如:["stores", "website"]
但是我想循环它以便列出json数组中的每个值,例如:
<li>stores</li>
<li>website</li>
感谢。
请参阅我附加的转储:
答案 0 :(得分:1)
您需要在模型中cast it。
protected $casts = [
'merchants' => 'json'
];
您可能需要更换刀片
@foreach($navigation as $value)
@foreach($value->merchants as $merchant)
<li><a href="#">{{$merchant}}</a></li>
@endforeach
@endforeach