Laravel下给where添加支持数组多条件查询0条评论

2016年04月16日   分类:框架   2918人浏览

首先打开Laravel中:

vendor/laravel/framework/src/Illuminate/Database/Eloquent/builder.php

添加:

   public function multiWhere($arrColumn)
    {   
        
        if(!empty($arrColumn) && is_array($arrColumn)){           
           foreach ($arrColumn as $key => $value){                
                if(is_array($value)){
                   $args = [$key, $value[0], $value[1]];
                   call_user_func_array([$this->query, 'where'], $args);
                }                else{
                   $args = [$key, $value];
                   call_user_func_array([$this->query, 'where'], $args);
                }
           }
        }        return $this;
    }


使用方法:

$condition['user_name'] = 'test';

$condition['user_power'] = 7;

$condition['user_age'] = ['>' , 20];//....YourModel::multiWhere($condition)->get();


当然也可以如:

YourModel::multiWhere($condition)->where('user_sex', 2)->get(); //“YourModel” 只是示例,换成你自己的东东即可~



转载请注明:老猫博客 » Laravel下给where添加支持数组多条件查询

继续查看有关 PHPLaravel 的文章