[英]Pass parameter from form to Controller Laravel
我試圖了解如何通過Laravel中的URL傳遞參數。
以我為例,我有一個主頁(/)(HomeController @ get__home並查看主頁),其中包含從數據庫表獲取的n個數據。 用戶可以選擇其中一個並轉到下一頁。
第二個url頁面是/ {從首頁的參數} /登錄
{首頁的參數}字段來自(當然)首頁,並取決於選擇的記錄。
我已經讀過這篇文章 ,但是我認為我不建議這樣做。
我找不到將參數傳遞給url的方法。
在我的Route.php中:
Route::get("/", "HomeController@home");
Route::get("/{position}/login", "LoginController@login");
在控制器中:
class HomeController extends Controller
{
public function home(){
$foos = Foo::all();
return view('home')->with('foos',$foos);
}
}
class LoginController extends Controller
{
public function login(Foo $foo)
{
return view('login');
}
}
並在home.blade.php中
<form class="" action="{{action(LoginController@login)}}" method="post">
...
由於您使用帶有post方法的表單,因此應定義如下路線:
Route::post("/login", "LoginController@login");
然后在表單動作中調用它:
<form action="{{action('LoginController@login')}}" method="post">
<select name="position">
<option value="1">Position 1</option>
<option value="2">Position 2</option>
</select>
...
然后,在控制器中,您可以在請求中獲取選項:
class LoginController extends Controller
{
public function login(Request $request)
{
$position = $request->position;
return view('login');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.