__('Type 1'), '2' => __('Type 2')]; } public function getTypeTextAttr($value, $data) { $value = $value ?: ($data['type'] ?? ''); $list = $this->getTypeList(); return $list[$value] ?? ''; } /** * 管理员权限 * @param $query * @param Auth $auth * @param string $auth_admin_id * @return mixed */ public function scopeAuth($query, Auth $auth, string $admin_id_field='to_id'){ if(!$auth->isSuperAdmin()){ $query->where($admin_id_field,$auth->id); } return $query; } /** * 地域权限 * @param $query * @param Auth $auth * @param string $area_id_field * @return mixed */ public function scopeAreaauth($query,Auth $auth,string $area_id_field='area_id'){ if(!$auth->isSuperAdmin()){ $areaIds = array_unique(array_filter(explode(',',trim($auth->area_ids)))); if(!in_array('*',$areaIds)){ $query->whereIn($area_id_field,$areaIds); } } return $query; } }