Laravel:JSON 数据在视图中 blade

Laravel: JSON data in view blade

控制器:

$commission = Commission::findOrFail($id);

    $json_calculation = (array) json_decode($commission->price_calculation, true);

    return view('tradesman.commissions-list-detail')
        ->with('commission', $commission)
        ->with('calculations', $json_calculation);

JSON:

{"price_per_hour":"180","hours":"4","material_type_1":"Something","material_price_1":"1200","material_type_2":"Something","material_price_2":"800"}

查看:

@forelse($calculations as $calculation)
                <p>{!! $calculation->price_per_hour !!}</p>

错误:

ErrorException: Trying to get property of non-object

如果我只使用 {!! $calculation !!} 它有效,但我需要类似 {!! $计算->material_type1 !!}

您正在将 Json 转换为数组,也就是说您将无法访问您的键类对象。所以改变你的这一行

$json_calculation = (array) json_decode($commission->price_calculation, true);

像这样然后尝试。它会像对象

一样解码你的json
$json_calculation = json_decode($commission->price_calculation);