作者 liyuhang

gx

... ... @@ -48,11 +48,10 @@ class RoleLogic extends BaseLogic
public function role_edit(){
//TODO::查询当前名称是否重复
$condition = [
['id'=>['!=',$this->param['id']]],
['name'=>$this->param['name']],
['project_id'=>$this->user['project_id']],
'id'=>['!=',$this->param['id']],
'name'=>$this->param['name'],
'project_id'=>$this->user['project_id'],
];
$info = $this->model->read($condition);
if($info !== false){
$this->fail('当前添加的角色已存在',Code::USER_PARAMS_ERROE);
... ...
... ... @@ -124,46 +124,41 @@ class Base extends Model
$query->where($k,$v);
continue;
}
foreach ($v as $k1 => $v1){
if(!is_array($v1)){
$query->where($k1,$v1);
continue;
}
switch ($v1[0]){
case 'like':
// like查询 ['name|title'=> ['like','%a%']]
if (strpos($k1, '|') !== false) {
$query->where(function ($query) use ($k1,$v1) {
$item = explode('|', $k1);
foreach ($item as $vo) {
$query->orWhere($vo, $v1[0], $v1[1]);
}
});
} else {
$query->where($k1, $v1[0], $v1[1]);
}
break;
case 'in':
// in查询 ['id'=>['in',[1,2,3]]]
$query->whereIn($k1, $v1[1]);
break;
case 'no in':
// in查询 ['id'=>['not in',[1,2,3]]]
$query->whereNotIn($k1, $v1[1]);
break;
case 'between':
// in查询 ['id'=>['between',[create1,create2]]]
$query->whereBetween($k1, $v1[1]);
case 'not between':
// not between查询 ['created_at'=>['not between',['xxx', 'xxx]]]
$query->whereNotBetween($k1, $v1[1]);
break;
default:
$query->where($k1,$v1[0],$v1[1]);
break;
}
switch ($v[0]){
case 'like':
// like查询 ['name|title'=> ['like','%a%']]
if (strpos($k, '|') !== false) {
$query->where(function ($query) use ($k,$v) {
$item = explode('|', $k);
foreach ($item as $vo) {
$query->orWhere($vo, $v[0], $v[1]);
}
});
} else {
$query->where($k, $v[0], $v[1]);
}
break;
case 'in':
// in查询 ['id'=>['in',[1,2,3]]]
$query->whereIn($k, $v[1]);
break;
case 'no in':
// in查询 ['id'=>['not in',[1,2,3]]]
$query->whereNotIn($k, $v[1]);
break;
case 'between':
// in查询 ['id'=>['between',[create1,create2]]]
$query->whereBetween($k, $v[1]);
case 'not between':
// not between查询 ['created_at'=>['not between',['xxx', 'xxx]]]
$query->whereNotBetween($k, $v[1]);
break;
default:
$query->where($k,$v[0],$v[1]);
break;
}
}
});
return $query;
}
... ...