猿问

来自包含 json 数据的列的 Laravel 5.8 查询

我有一个包含 json 数组的列,但我很难将它们作为单个项目输出。


列表控制器@show


public function show(Listing $listing)

{

    $services = collect($listing->services_offered);


    return view('listings.listing', compact('banner', 'listing', 'services'));

列表.blade.php


@foreach($services as $service)

    <li>{{$service}}</li>

@endforeach

输出

米脂
浏览 143回答 2
2回答

噜噜哒

在您的Listing模型中,您可以将json数组转换为 PHP 数组,如下所示:protected $casts = [&nbsp; &nbsp; 'services_offered' => 'array',];然后,您可以像之前一样将其包装到一个集合中,并在视图中列出它们。

函数式编程

您需要将 JSON 字符串转换为实际的 JSON 数组。$services = collect(json_decode($listing->services_offered, true));或者你可以在你的模型中创建一个访问器public function getServicesOfferedAttribute($value){&nbsp; &nbsp; return json_decode($value);}
随时随地看视频慕课网APP
我要回答