entityManager->getRDBRepositoryByClass(User::class); $user = $repository ->where(['userName' => SystemUser::NAME]) ->findOne(); if ($user) { if ($user->getId() === $this->systemUser->getId()) { return; } $this->entityManager ->getQueryExecutor() ->execute( $this->entityManager ->getQueryBuilder() ->delete() ->from(User::ENTITY_TYPE) ->where(['id' => $user->getId()]) ->build() ); } /** @var array $attributes */ $attributes = $this->config->get('systemUserAttributes'); $user = $repository->getNew(); $user->set('id', $this->systemUser->getId()); $user->set('userName', SystemUser::NAME); $user->set('type', User::TYPE_SYSTEM); $user->set($attributes); $repository->save($user); } }