亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Laravel 中將集合或數組從 Blade 文件傳遞??到控制器?

如何在 Laravel 中將集合或數組從 Blade 文件傳遞??到控制器?

PHP
長風秋雁 2023-08-19 17:53:20
$cartItems包含數據庫中的所有產品行,我在刀片文件中使用它。我想將其$cartItems從該刀片文件傳遞回控制器注意:$cartItems來自index()控制器中的函數,如下所示。$cartItems = DB::table('products')->whereIn('id', $cartItemsArray)->get();return view('cart.index', compact('cartItems')下面是我的代碼。index.blade.php<a href="{{route('cart.checkout',$cartItems)}}" class="site-btn">Proceed to checkout</a>web.phpRoute::get('/cart/checkout/{cartItems}', 'CartController@checkout')->name('cart.checkout')->middleware('auth');CartController.phppublic function checkout($cartItems){   dd($cartItems);   return view('cart.checkout');}我得到的錯誤是,缺少 [Route: cart.checkout] [URI: cart/checkout/{cartItems}] 所需的參數。(查看:E:\github\LARAVEL\Deal-Ocean\resources\views\cart\index.blade.php)
查看完整描述

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');

}


查看完整回答
反對 回復 2023-08-19
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

為什么在CartController中的checkout方法中使用與index()方法相同的代碼邏輯。

結帳方法將如下所示:

   $cartItems = DB::table('products')->whereIn('id', $cartItemsArray)->get();
      return view('cart.checkout', compact('cartItems');


查看完整回答
反對 回復 2023-08-19
  • 2 回答
  • 0 關注
  • 150 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號