[英]Pass Data Between Controllers in Laravel
我在我的 Laravel 網站上有一個視圖,其中顯示了一些產品。 當用戶點擊一個產品時,他們會被帶到那個特定的產品頁面。 在每個特定的產品頁面上,都有一個“訂購”按鈕。 當用戶單擊“訂購”按鈕時,他們將被帶到僅針對他們單擊“訂購”按鈕的特定產品的結帳頁面。 下面的controller把手展示了所有產品和單品。
產品控制器:
public function index()
{
$products = Product::get();
return view('products.products')->with('products', $products);
}
public function show($slug)
{
$product = Product::where('slug', $slug)->firstOrFail();
return view('products.product')->with('product', $product);
}
路線:
Route::get('products', 'ProductController@index')->name('products');
Route::get('products/{product}', 'ProductController@show')->name('product');
Route::get('order', 'OrderController@create')->name('order')->middleware('verified');
Route::post('order', 'OrderController@order')->name('order');
我有一個單獨的 controller 來處理訂單頁面。 如何將特定產品的數據傳遞到訂單控制器/視圖中?
產品控制器:
public function show($slug)
{
$product= Product::where('slug', $slug)->firstOrFail();
Session::put('product', $product);
return view('products.product')->with('product', $product);
}
訂單控制器:
public function create()
{
$product = Session::get('product');
return view('user.order')->with('product', $product);
}
這很簡單,只需通過路由將產品 id 傳遞給其他 controller 即可。 然后你可以按照 controller 的順序做任何你想做的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.