form 多条件查询怎么实现?

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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案
$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,我是搬运工。

6年前 评论
讨论数量: 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,我是搬运工。

6年前 评论
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);
              }
          }
       }); 
  }
}
6年前 评论

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

5年前 评论
leo

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

5年前 评论

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

5年前 评论

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