Форматирование массива, сохраненного в базе данных, в режиме блэйда в laravel - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть таблица БД, в которой хранятся id, cart (array), updated_at, creation_at. Как я могу деконструировать массив и отображать элементы в виде списка.

3

{"3": {"имя": "iPhone", "количество": 2, "цена": "500.00"}, "4": {"имя": "Samsung", "количество": 1, "цена": "344.00"}}

2019-11-10 07: 50: 53

______________________
ProductsController
______________________
public function cartsIndex(Request $request)
{
    $carts = Cart::all();
    $carts = json_decode($carts);
    // return view('cartsIndex')->with(['carts' => $carts]);
    dd($carts);
}

Я хочу корзину вбудет отображаться, как показано ниже.

  • ID - 3

    • Имя: Iphone

      • Количество: 2
      • Цена: 500
    • Название: Samsung

      • Количество: 1
      • Цена: 344

1 Ответ

0 голосов
/ 10 ноября 2019

используйте атрибут laravel $ cast в вашей модели. Это автоматически поможет вам преобразовать ваши данные в json при хранении в базе данных и поможет вам получить к ним доступ в виде массива при извлечении.

protected $cast = [
  'cart' => 'array' // name of the column you want to store as json and retrieve as array
];

для справки https://laravel.com/docs/6.x/eloquent-mutators#array-and-json-casting

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