我对Laravel5.4很陌生,我需要创建一个多属性搜索,我只能搜索一个attribute.but,我找不到正确的方法。
这是我想要的搜索字段。

这是与之相关的观点。
<div class="form-group">
<!-- <label>Select Your Institute</label> -->
<label>Search By</label>
<select name="institute" id="institute">
<option selected="selected" value="Trainee Id">Trainee Id</option>
<option value="Trainee Name">Trainee Name</option>
<label for="Search">Name</label>
</select>
<form action="search" method="post" class="form-inline">
<input type="text" name="search" />
<br>
<input type="hidden" value="{{ csrf_token() }}" name="_token" />
<input type="submit" name="submit" value="Search">
</form>
</div>这是控制器,我需要修改上面的视图,特别是在下拉。
public function search_code(Request $request){
$query = $request->search;
$customers = DB::table('registerdetails')->where('id', 'LIKE',"%$query%")->get();
return view('registeredusers.index')->with('customers',$customers);
}有人能建议我从下拉列表中选择控制器吗?
发布于 2017-04-17 03:07:14
将select下拉放到您的<form>中,这样您就可以在控制器中使用$request->institute检索它。然后根据所选下拉列表的值( id或name)执行查询。
<form action="search" method="post" class="form-inline">
<select name="institute" id="institute">
<option selected="selected" value="id">Trainee Id</option>
<option value="name">Trainee Name</option>
<label for="Search">Name</label>
</select>
<input type="text" name="search" /><br>
<input type="hidden" value="{{ csrf_token() }}" name="_token" />
<input type="submit" name="submit" value="Search">
</form>在您的控制器中:
public function search_code(Request $request){
$query = $request->search;
$queryType = $request->institute; // 'id' or 'name'
$customers = DB::table('registerdetails');
if($queryType == 'id'){
$customers = $customers->where('id', 'LIKE',"%$query%");
}
if($queryType == 'name'){
$customers = $customers->where('name', 'LIKE',"%$query%");
}
$customers->get();
return view('registeredusers.index')->with('customers',$customers);
}https://stackoverflow.com/questions/43444538
复制相似问题