@Flasher

При добавлении товара в корзину я добавляю все данные в сессию. А как сделать, если добавляю еще один товар?

При добавлении товара в корзину я добавляю все данные в сессию. А как сделать, если добавляю еще один товар? Не могу понять, как обработать, у меня есть примерно такой вывод во вьюхе:

@if(Session::has('user_order_product'))
    {{ Session::get('user_order_product')->title }}<br>
    {{ Session::get('user_order_color') }}<br>
    {{ Session::get('user_order_size') }}<br>
    {{ Session::get('user_order_count') }}<br>
@endif
  • Вопрос задан
  • 492 просмотра
Пригласить эксперта
Ответы на вопрос 3
@IceJOKER
Web/Android developer
Вы как-то неправильно храните данные в сессии, зачем отдельно сохранять каждое значение, когда можно один товар сохранить как массив.

$item = ['id' => 1, 'title' => 'someTitle', 'other_field' => 'otherFieldlValue'];
$_SESSION['cart_items'][] = $item; 
//либо так
$_SESSION['cart_items'][$item['id']] = $item;
//второй способ предотвращает повторное добавление одного и того же товара


А для конвертации под Laravel читайте документацию - https://laravel.com/docs/5.2/session
Ответ написан
@Result007
P|-|P
Привет! Вот серия уроков про Интернет-магазин на Laravel 5. Может возьмешь что-нибудь полезное :) Там через JS корзина на сколько я знаю.

otdel-devsite.ru/laravel-5-%D0%BF%D0%B8%D1%88%D0%B...
Ответ написан
Fanamura
@Fanamura
Php-программист, Laravel
Не мучайтесь и попробуйте использовать gloudemans/shoppingcart
https://github.com/Crinsane/LaravelShoppingcart
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы