2017-06-13 16 views
0

こんにちは私はLaravel 5.4で作業しています。 json_encodeでカートをデータベースに保存しますが、これは問題ありません。私の問題は私が望むデータを私の視点から得ることです。例えば商品のタイトルと価格を表示したいと思います。JSONデコード - デコードショッピングカートPHP

は、私が試した:私は次のエラーを取得するとき

@foreach ($order->cart->items as $item) 
     {{ dd(json_decode($order->cart, true)) }} 
     {{ $item['price']['title'] }} 
    @endforeach 

これは、次のとおりです。

Trying to get property of non-object 

私は私のカートをダンプするとき

dd(json_decode($order->cart, true)) 

私が取得:

array:3 [▼ 
    "items" => array:1 [▼ 
    5 => array:4 [▼ 
     "id" => 5 
     "qty" => 1 
     "price" => 15 
     "item" => array:8 [▼ 
     "id" => 5 
     "created_at" => "2017-06-05 13:21:45" 
     "updated_at" => "2017-06-05 13:21:45" 
     "imagePath" => "https://someImage" 
     "title" => "Vitamin B-12" 
     "discription" => "Vitamin B-12, also called cobalamin ▶" 
     "category" => 4 
     "price" => 15 
     ] 
    ] 
    ] 
    "totalQty" => 1 
    "totalPrice" => 15 
] 
+0

' $アイテム[ "アイテム"]: これを試してみてください。 – apokryfos

+0

'$ order-> cart-> items'の' $ order-> cart-> items() 'ではなく、項目は関数 –

+0

@apOKRYFOSと同じエラーです。 – Mette

答えて

0

$order->cartはオブジェクトではない配列です。 [5] [ "価格"] [ "タイトル"] `ここにあなたの配列の構造である

<?php $data = json_decode($order->cart, true); ?> 
@foreach ($data['items'] as $item) 
    {{ $item['item']['title'] }} {{ $item['item']['price'] }} 
@endforeach