Вызов функции репозитория с диспетчером сущностей, но получение ошибки пространства имен

Я вызываю функцию репозитория со следующей деталью

$ratingData = $em->getRepository(PatientFeedback::class)->getRatingReviewData($doctorId, $this->timezone);

и мой класс репозитория выглядит так:

namespace App\Repository;

class PatientFeedbackRepository extends ServiceEntityRepository
{
}

получение ошибки типа:

Attempted to call function \"getRatingReviewData\" from namespace \"Api\\Controller\".

есть что-то конкретное, что мне не хватает для использования репозитория сущностей?

Где вы видели в документах, что вам нужно расширить ServiceEntityRepository вместо EntityRepository???

gp_sflover 11.04.2019 13:45

Еще лучше не расширять репозиторий — это приведет только к проблемам. Вместо этого используйте чистый инъекция конструктора. Это просто и делает ваш код подверженным ошибкам

Tomas Votruba 11.04.2019 16:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
2
2
176
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Используйте EntityRepository вместо ServiceEntityRepository:

    use Doctrine\ORM\EntityRepository;
    class UsersRepository extends EntityRepository

У вас синтаксическая ошибка:

$em->getRepository(PatientFeedback::class)>getRatingReviewData(...)

к:

$em->getRepository(PatientFeedback::class)->getRatingReviewData(...)

Без - он ищет функцию с именем getRatingReviewData в текущем пространстве имен.

это решено с помощью решения, предоставленного ankit parmar

nikunj kansara 11.04.2019 13:33

Другие вопросы по теме