*/ class UserData extends Database { public function getByUserId(string $userId): ?UserDataEntity { /** @var ?UserDataEntity $userData */ $userData = $this ->where(['userId' => $userId]) ->findOne(); if ($userData) { return $userData; } $user = $this->entityManager ->getRepository(UserEntity::ENTITY_TYPE) ->getById($userId); if (!$user) { return null; } $userData = $this->getNew(); $userData->set('userId', $userId); $this->save($userData, [ SaveOption::SILENT => true, SaveOption::SKIP_HOOKS => true, ]); return $userData; } }