我正在学习laravel 5.4,我正在做一个示例项目。在那里我需要从我的数据库中搜索。下面我附上了我界面的截图。
正如你在搜索框中看到的,我已经给了我需要搜索“malabe”。我需要得到结果。我已经实现了Controller并且也需要视图。下面我已经附上了我的控制器
class SearchController extends Controller
{
//search controller
public function search($keydown){
$searchDetails = DB::table('van_Services')
->where('vs_RouteTo','like','%'.$keydown.'%')
->orwhere('vs_RouteFrom','like','%'.$keydown.'%')
->orwhere('vs_Description','like','%'.$keydown.'%')
->orderBy('created_at', 'DESC')
->paginate(12);
return view('search.search', compact('searchDetails'));
}
}
路线代码
Route::get('/search/{key}','SearchController@search');
这是我的搜索框代码的div,
<div class="col-xs-6 col-sm-2 col-md-2">
<div class="search_box pull-right">
{{--Search Button--}}
<input type="text" name="search" id="search" laceholder="Search"/>
</div>
</div>
如果我使用网址手册
,我的路线和代码是有效的我的问题是如何让我的搜索框工作?任何教程或提示?
答案 0 :(得分:1)
<强> 1。如果您确实需要使用网址链接。
JS解决方案是:
// q => Your search word
function redirectSearch(q) {
location.href = '/search/'+q;
}
将搜索字段值传递给此函数并自动重定向页面。
<强> 2。您可以将GET参数发送给控制器。
正面代码:
<div class="col-xs-6 col-sm-2 col-md-2">
<div class="search_box pull-right">
<form action="/search" method="GET">
{{--Search Button--}}
<input type="text" name="search" id="search" placeholder="Search"/>
</form>
</div>
控制器代码:
public function search(Request $request){
$search = $request->search;
... Your code ...
}
如果您使用请求的方法不要忘记
use Illuminate\Http\Request;
路线:
Route::get('/search','SearchController@search');
答案 1 :(得分:1)
如果我使用网址手册
,我的路线和代码是有效的
我认为它已经在工作,重定向只是你的问题。 只需使用JS / jQuery。
// when ENTER is pressed
$(document).keypress(function (e) {
if (e.which == 13) {
e.preventDefault();
window.location = APP_URL + "/search/" + $('#search').val();
}
});
古德勒克。