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