首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5多属性搜索

Laravel 5多属性搜索
EN

Stack Overflow用户
提问于 2017-04-17 03:00:25
回答 1查看 1.2K关注 0票数 1

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

这是我想要的搜索字段。

这是与之相关的观点。

代码语言:javascript
复制
 <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>

这是控制器,我需要修改上面的视图,特别是在下拉。

代码语言:javascript
复制
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);
}

有人能建议我从下拉列表中选择控制器吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-17 03:07:14

将select下拉放到您的<form>中,这样您就可以在控制器中使用$request->institute检索它。然后根据所选下拉列表的值( id或name)执行查询。

代码语言:javascript
复制
<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>

在您的控制器中:

代码语言:javascript
复制
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);

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43444538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档