我有一个订购按钮,该按钮应该将用户重定向到已订购商品的购物车页面
<p class="btn-holder"><a href="{{route('addCart',$food->id) }}" class="btn btn-primary btn-block text-center" role="button" > Order this</a> </p>
这是web.php上的路由
Route::get('add-to-cart/{id}', 'FoodsController@addToCart')->name('addCart');
这是addToCart函数
public function addToCart($id){
$food = Food::find($id);
if(!$food) {
abort(404);
}
$cart = session()->get('cart');
// if cart is empty then this the first product
if(!$cart) {
$cart = [
$id => [
// "productId" => $food->id,
"name" => $food->food_item,
"quantity" => 1,
"price" => $food->price,
]
];
session()->put('cart', $cart);
return redirect()->back()->with('success', 'Product added to cart successfully!');
}
// if cart not empty then check if this product exist then increment quantity
if(isset($cart[$id])) {
$cart[$id]['quantity']++;
session()->put('cart', $cart);
return redirect()->back()->with('success', 'Product added to cart successfully!');
}
// if item not exist in cart then add to cart with quantity = 1
$cart[$id] = [
// "productId" => $food->id,
"name" => $food->food_item,
"quantity" => 1,
"price" => $food->price,
];
session()->put('cart', $cart);
return redirect()->back()->with('success', 'Product added to cart successfully!');
}
但是当我单击按钮时,它不会重定向到购物车页面,它会继续加载到同一位置 我做到了
dd($food);
在功能上,它会输出正确的结果
答案 0 :(得分:0)
我有一个订购按钮,可以将用户重定向到已订购商品的购物车页面
使用return redirect()->back()->with...
时的操作是将用户 back 重定向到他们来自的页面,在这种情况下,您的Order this
按钮位于
所以目前的逻辑是:
Order this
按钮如果您希望在单击Order this
按钮时将用户重定向到另一个页面,则需要将用户重定向到另一个页面或另一个路由,例如
return redirect()->route('View Cart')->with('success', 'Product added to cart successfully!');
或类似这样:
return redirect('/view-cart')->with('success', 'Product added to cart successfully!');
应该导致以下流程:
Order this
按钮我不知道您有什么路线,所以以上是一个近似值。