Laravel 多条件模糊查询

  • Post author:
  • Post category:其他


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

//search_arr为查询条件的数据,示例数据如下
$search_arr=[
    ['type'=>'姓名','value'=>'王'],
    ['type'=>'地址''value'=>'王家村'],
    ['type'=>'性别''value'=>'男']
]
//$query为查询构建器实例;
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();
}



版权声明:本文为soeben原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。