Отправить корзину :: содержимое на лезвие в Laravel 5.8 - PullRequest
0 голосов
/ 14 мая 2019

я использую"bumbummen99 / shoppingcart": "^ 2.8",В Laravel 5,8Помогите мне отправить мою корзину :: контент в шаблон лезвия.

//ShoppingController.php
Mail::send('emails.ordermail-customer-response',
       array(
            'cartcontent' => Cart::content()
), function($message) use ($request)

Когда я отправляю Cart :: content в шаблон блэйда электронной почты, все отлично работает

 @foreach ($cartcontent as $item)
 
 {{$item->name}}
 
 {{$item->price}}
 
 @endforeach

Но когда я сохраняю содержимое корзины в своей базе данных, как это

///shoppingcontroller.php

$order = Orders::create([

            'cartcontent' => Cart::content()
 ]);
В моей базе данных есть строка

{"76074528274137cc4af420551cfac36a":{"rowId":"76074528274137cc4af420551cfac36a",
"id":9,"name":"product","qty":"1",
"price":382,"weight":0,"options":{"color":"black","variant":null,"deliveryprice":"40",
"qtyinOnePocket":"1"},
"discount":0,"tax":0,"subtotal":382}}

Чем я пытаюсь отправить данные из базы данных в мой шаблон blade-сервера

//shoppingcontroller.php

public function showSingleOrder($orderId)
    {

        $order = Orders::find($orderId);

        return view('admin.sections.orders.ordersingle')
        ->with('order', $order);

    }

А вот мой клинок

////ordersingle.blade.php

{{$order->cartcontent}}

Дает мне это

{"76074528274137cc4af420551cfac36a":{"rowId":"76074528274137cc4af420551cfac36a",
"id":9,"name":"product","qty":"1",
"price":382,"weight":0,"options":{"color":"black","variant":null,"deliveryprice":"40",
"qtyinOnePocket":"1"},
"discount":0,"tax":0,"subtotal":382}}

Но когда я использую foreach в своем клинке вот так

//ordersingle.blade

@foreach($order->cartcontent as $item)
      {{$item->price}}
@endforeach

Я не получаю цену, но ошибка

Invalid argument supplied for foreach()

1 Ответ

1 голос
/ 14 мая 2019

Добавьте касты к вашей заявке модели.Он преобразует JSON, сохраненный в столбце cartcontent, обратно в массив, используя json_decode().

Orders.php

class Orders extends Model {
    // ...

    protected $casts = [
        'cartcontent' => 'array',
    ];

    // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...