Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
есть две функции в классе, если запускаю роут который ведёт на функцию delCart то потом когда запускаю роут с функцией index массив сешн удаляется, то есть cart=[] пустой массив, если запускаю роут который запускает функцию addToCart то он обновляет массив только в окне где был запущен этот роут, в другом окне где открыт роут index массив не удаляется, что это за магия такая? две одинаковые функции одна работает другая нет.
public function index(){
dd(session()->all());
return view('shops.'.tenant('template').'.cart');
}
public function addToCart(Request $req, $id, $quantity){
// if($req->session()->missing('cart')){
// $cart = [];
// $req -> session()->put('cart',$cart);
// }
//
// // dd(session()->all());
//
// $cart_array = session()->get('cart');
// foreach($cart_array as $key => $cart){
// if($cart['id']==$id){
//
// // $product = $req -> session()->forget('cart.'.$key);
//
// $cart_array[$key]['quantity'] += $quantity;
// //$req ->session()->forget('cart');
// //$req ->session()->put('cart',$cart_array);
//
// //return ;
// }
// }
$cart = [];
$req -> session()->put('cart',$cart);
//$req ->session()->put('cart',$cart_array);
//dd($cart_array);
dd(session()->all());
//
$offers = Offer::with('product','feature')->where('id',$id)->first();
if(empty($offers->id)){
return response()->json(['result'=>'unsuccess','text'=>'Нет такого товара']);
}
//dd($offers->retail_price);
$cart = ['id'=>$id,'quantity'=>$quantity,'name'=>$offers->product->name,'article'=>$offers->product->code_1c,'price'=>$offers->retail_price];
$req ->session()->push('cart',$cart);
$arr = session()->get('cart');
$quantity= 0;
foreach($arr as $quant){ $quantity += $quant['quantity']; }
$summ_cart = 0;
foreach($arr as $summ){ $summ_cart += $summ['price']*$summ['quantity']; }
return response()->json(['result'=>'success','cart'=>$cart,'quantity'=>$quantity,'summ_cart'=>$summ_cart]);
//return response()->json(['result'=>'success','text'=>'товар добавлен в сравнение','quantity_product'=>count($arr)]);
}
public function delCart(Request $req){
$cart = [];
$req -> session()->put('cart',$cart);
}
Не в сети
всё разобрался, функция dd мешает работе сессий, если её убрать всё отлично работает.
Не в сети
ну dd() не мешает работе сессий, она выводит дамп данных и останавливает! работу, т.е. всё что после неё не отрабатывает уже
Не в сети
Страницы 1