簡體   English   中英

將參數從表單傳遞到Controller Laravel

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM