尝试为产品设置基本搜索功能。我无法对路由参数变量进行排序并将查询字符串传递给搜索功能。
Route::get('/search/{query?}', 'ProductController@searchable');
这可以在我手动输入查询时返回查询。
控制器
public function searchable($query)
{
// search database, with result, list on page, with links to products,
$products = Product::search($query)->get();
return view('search.index', compact('products'));
}
但是,我希望它来自网址/search?test
。
我的表单显示:
{{ Form::open(array('action' => 'ProductController@searchable', 'method' => 'get', 'files' => 'false')) }}
<input type="search" name="search" placeholder="type keyword(s) here" />
<button type="submit" class="btn btn-primary">Search</button>
{{ Form::close() }}`
我是Laravel的新手,需要一些帮助。我正在使用Laravel Scout和TNTSearch。
答案 0 :(得分:1)
您无需使用{wildcard}
进行搜索。我们Request
为
Route::get('search', 'ProductController@searchable');
改为传递网址。
{{ Form::open(array('url' => 'search', 'method' => 'GET', 'files' => 'false')) }}
<input type="search" name="search" placeholder="type keyword(s) here" />
<button type="submit" class="btn btn-primary">Search</button>
{{ Form::close() }}
在Controller简单提取$request->search
public function searchable(Request $request)
{
// search database, with result, list on page, with links to products,
$products = Product::search($request->search)->get();
return view('search.index', compact('products'));
}