Как можно обновить контроллер корзины для обеспечения корректного удаления всех товаров из нее, а не только первого добавленного?
Проблема с вашим методом скрытия товаров из корзины заключается в том, что вы скрываете только первый добавленный товар, а не все товары, которые находятся в корзине. Это может привести к недопониманию со стороны пользователей, так как они могут ожидать, что все товары будут удалены из корзины. Для обновления контроллера корзины и обеспечения корректного удаления всех товаров из нее, вам необходимо изменить логику вашего метода таким образом, чтобы он перебирал все товары в корзине и скрывал их. Например, вы можете использовать цикл, который пройдется по всем товарам в корзине и скроет их один за другим. Примерно так может выглядеть новая версия вашего метода: ```python def hide_all_products_in_cart(self): for product in self.cart.products: product.hide() ``` После такого обновления контроллера корзины все товары будут успешно скрыты из нее, что будет более правильным поведением с точки зрения пользователя.
Спасибо всем, не работало почему то потому что все эти данные были в пустой форме, не совсем понимаю почему, но предполагаю что запрос просто шел не туда куда надо
Начнем с того что роуты так не пишутся. А хелпер роута работает не так как у вас предполагается.
//router ... Route::post('/add/{productId}', [CartController::class, 'addToCart'])->name('add.product.toCart'); Route::delete('/remove/{productId}', [CartController::class, 'remove'])->name('product.remove'); ... //Controller public function remove($productId) { /* это вообще в мидлваре должно происходить, тут ему делать нечего, впишите роут в ауч группу... if (!Auth::check()) { return redirect()->route('login'); } */ $cart = Session::get('cart'); if (array_key_exists($productId, $cart)) { unset($cart[$productId]); Session::put('cart', $cart); } return redirect()->route('cart.index'); } ... //HTML <form action="{{ route('product.remove', ['productId'=>$productId]) }}" method="post"> // читать как работает хелпер route, посмотреть какой урл он выдает у вас сейчас, плакать, править...
на первом просто редиректит,Во первых - редирект куда? Во вторых, стоит заглянуть в сгенерированный хтмл и посмотреть какой там реальный урл формы. Так же при отправке посмотреть нетворк и посмотреть что и куда реально отправляется и с какими данными.