authManager; $access = false; if($params['record']) { $roles = \Yii::$app->user->identity->getRoles(); $permissions = []; $queryRole = (new Query())->from('auth_table_access_group')->where(['in', 'role', $roles])->andWhere(['record_id' => $params['record']->primaryKey])->all(); $queryUser = (new Query())->from('auth_table_access_user')->where(['user_id' => $user])->andWhere(['record_id' => $params['record']->primaryKey])->all(); foreach($queryRole as $oneRole) { $permissions[] = $oneRole['permission']; $permissions = array_merge($permissions, array_keys($auth->getPermissionsByRole($oneRole['permission']))); } foreach($queryUser as $oneUser) { $permissions[] = $oneUser['permission']; $permissions = array_merge($permissions, array_keys($auth->getPermissionsByRole($oneUser['permission']))); } $access = in_array($item->name, array_unique($permissions)); } return $access; } }