form 多条件查询怎么实现?

我建立了一个表单,表单的内容有姓名和职业,我想实现在检索的时候输入一个姓名能选出结果,只输入职业也能选出来相应的结果,两个一起输入也能实现搜索,该怎么实现呢?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案
$data = User::when($request->name, function ($query) use ($request) {
    return $query->whereName($request->name);
})
->when($request->job, function ($query) use ($request) {
   return $query->whereJob($request->job);
})
->get();

hhh,我是搬运工。

5年前 评论
讨论数量: 5
$data = User::when($request->name, function ($query) use ($request) {
    return $query->whereName($request->name);
})
->when($request->job, function ($query) use ($request) {
   return $query->whereJob($request->job);
})
->get();

hhh,我是搬运工。

5年前 评论
Fringe

这就很简单啦!举个例子~ 比如你把对应的查询条件按照键值对应关系放在一个数组中

public function getUserCollection($where){
  $user = $this->model;
  if(count($where)){
      $user = $user->where(function ($query) use ($where) {
          foreach($where as $key => $value){
              if($key=='你需要查询的字段'){
                  $query->where($key,$value);
              }
          }
       }); 
  }
}
5年前 评论

我使用了多条件查询后加了一个->paginate(10); 但是在浏览第二页的时候就出现了错误MethodNotAllowedHttpException,请问这是为何?

5年前 评论
leo

@zgg548 搜索结果要分页,方法只能是 get 不能是 post

5年前 评论

我的查询实在index页面上的,查询的结果也是现实在index上面,我确实使用了使用了post动作,请问该如何解决呢?

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!