2017-06-13 92 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

'$项目[ “项目”] [5] [ “价格”] [ “标题”]'是你数组的结构在这里。 – apokryfos

+0

它不是'$ order-> cart-> items'它的'$ order-> cart-> items()',项目是一个函数 –

+0

@apOKRYFOS同样的错误.. – Mette

回答

0

您的$order->cart是一个数组而非对象。 试试这个:

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