@inajaf

Как правильно получить данные от Repository класса используя Doctrine ORM без фреймворков?

Есть класс наследуемый от EntiryRepository.
Задача в том чтобы получить данные пользователя с помощью $email как ключ и после вызвать метод getUserData() подключив UserRepository в другом классе.

Проблема в том что при подключение UserRepository требует еще прописать Required parameters '$em, $class' missing

class UserRepository extends EntityRepository
{
    public function getUserData(): array
    {
        $user = new User();
        return $this->_em->getRepository(User::class)->findOneBy($user->getEmail());
    }
}


Сам класс в котором вызывается метод getUserData()
public function getCurrentUserData(): array
    {
        $user = new User();
        $userRepository = new UserRepository();

        return [
            $user->getName(),
            $user->getLastName(),
            $user->getEmail(),
            $user->getMobileNumber(),
            $user->getDateTime(),
        ] ;
    }


1) Как правильно реализовать зависимости классов во избежании ошибок при инициализации?
2) Есть ли реальный пример не используя фреймворки реализация Entity и Repository классов и их связка?

Спасибо.
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 1
BoShurik
@BoShurik
Symfony developer
Репозитории надо получить из EntityManager, а не создавать их самим.
Для этого надо UserRepository прописать в маппинге сущности
@ORM\Entity(repositoryClass="UserRepository")

Подробнее в документации
https://www.doctrine-project.org/projects/doctrine...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы