Laravel 多条件模糊查询

在对列表进行查询的时候经常需要定义多个搜索条件对数据进行搜索,下面是一种使用laravel查询构造器查询的方法,其中姓名和地址为模糊查询手机号和性别为精确查询

//search_arr为查询条件的数据,示例数据如下
$search_arr=[
    ['type'=>'姓名','value'=>'王'],
    ['type'=>'地址''value'=>'王家村'],
    ['type'=>'性别''value'=>'男']
]
//$query为查询构建器实例;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
function getUserList($search_arr){
    return $query->where(function ($query) use($search_arr){
        foreach($search_arr as $search){
            switch ($search['type']) {
                case '姓名':
                    $query -> where('user_name', 'like', '%'.$search['value'].'%');
                    break;
                case '地址':
                    $query -> where('user_address', 'like', '%'.$search['value'].'%');
                    break;
                case '手机号':
                    $query -> where(['user_tel'=>$search['value']]);
                    break;
                case '性别':
                    $query -> where(['user_sex'=>$search['value']]);
                    break;
            }
        }
    })->get();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/soeben/article/details/78490049

猜你喜欢

转载自blog.csdn.net/weixin_39616995/article/details/80584679