2 回答

TA贡献1982条经验 获得超2个赞
您可以使用表单将数据发送回服务器
更新您的路线从get到post
Route::post('/cart/checkout', 'CartController@checkout')->name('cart.checkout')->middleware('auth');
使用表单将数据发布到服务器。您也可以随请求一起传递任何附加数据。
<form method="post" action="/cart/checkout">
@foreach($cartItems as $item)
<input name="cartItems[]" value="{{ $item->id }}"
@endforeach
<button class="site-btn">Proceed to checkout</button>
</form>
并在您的控制器中用于Request访问数据
public function checkout(Request $request)
{
$cartItems = DB::table('products')->whereIn('id', $request->get($cartItems))->get();
dd($cartItems);
return view('cart.checkout');
}
如果您想继续处理获取请求,您应该能够执行以下操作
就像$cartItems产品的集合一样。因此,您可以发送产品 ID 并使用请求中的 ID 查询产品。
<a href="{{ route('cart.checkout', ['cartItems' => $cartItems->pluck('id')->toArray()]) }}"
class="site-btn">Proceed to checkout</a>
更新控制器
public function checkout(Request $request)
{
$cartItems = DB::table('products')->whereIn('id', $request->get($cartItems))->get();
dd($cartItems);
return view('cart.checkout');
}

TA贡献1850条经验 获得超11个赞
为什么在CartController中的checkout方法中使用与index()方法相同的代码逻辑。
结帐方法将如下所示:
$cartItems = DB::table('products')->whereIn('id', $cartItemsArray)->get(); return view('cart.checkout', compact('cartItems');
- 2 回答
- 0 关注
- 128 浏览
添加回答
举报