簡體   English   中英

Laravel5-如何正確編寫搜索查詢字符串的路由?

[英]Laravel5 - how to correctly write route for search query string?

我正在開發一個應用程序,我應該在其中包含用戶的表上執行搜索。 但是,我無法弄清楚如何正確地構成路線,以便將視圖附加到控制器並返回。 我的代碼如下:視圖:

<form action='{{url(' users')}}' method='GET'>
<input class='form-control' type="text" name="keyword" placeholder="Search for user...">
</form>

路線:

Route::get('users?keyword={$keyword}', 'UsersController@search');

UsersController中的search():

public function search()
{
    $keyword = Request::get('keyword');

    $users = User::where("username", "LIKE","%$keyword%")
            ->orWhere("firstname", "LIKE", "%$keyword%")
            ->orWhere("lastname", "LIKE", "%$keyword%")
            ->orWhere("email", "LIKE", "%$keyword%")
            ->orWhere("phone", "LIKE", "%$keyword%")->get();

    return view('search', compact('users'));

}

有人可以告訴我正確的語法是什么嗎? 提前致謝!

您的路線應為:

 Route::get('users', 'UsersController@search');

在您的控制器中,您可以使用已經在做的請求對象的get函數來get查詢參數。

您可以通過以下任一函數獲取參數:

request()->get('keyword');
request()->input('keyword');
request()->query('keyword');

更新

在文件頂部添加以下導入:

use Illuminate\Http\Request;

然后在您的控制器函數中將其注入為:

public function search(Request $request)
{
    $keyword = $request->input('keyword');
    // or
    $keyword = $request->query('keyword');

    // rest of the code
}

嘗試這個:

  Route::get('users', 'UsersController@search');

調節器

public function search(Request $request) {
    $keyword = $request->get('keyword');

    $users = User::where("username", "LIKE","%$keyword%")
            ->orWhere("firstname", "LIKE", "%$keyword%")
            ->orWhere("lastname", "LIKE", "%$keyword%")
            ->orWhere("email", "LIKE", "%$keyword%")
            ->orWhere("phone", "LIKE", "%$keyword%")->get();

    return view('search', compact('users'));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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