Symfony 使用实体管理器调用存储库函数,但获取命名空间错误

Symfony 使用实体管理器调用存储库函数,但获取命名空间错误,symfony,doctrine,Symfony,Doctrine,我正在调用存储库函数,具体如下 $ratingData = $em->getRepository(PatientFeedback::class)->getRatingReviewData($doctorId, $this->timezone); 我的存储库类如下所示: namespace App\Repository; class PatientFeedbackRepository extends ServiceEntityRepository { } 获取错误,如: A

我正在调用存储库函数,具体如下

$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\".

使用实体存储库时是否缺少任何特定信息?

使用EntityRepository而不是ServiceEntityRepository:

    use Doctrine\ORM\EntityRepository;
    class UsersRepository extends EntityRepository

您有一个语法错误:

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


如果没有
-
,它将在当前名称空间中寻找一个函数nammed
getRatingReviewData

,它将通过ankit parmarOn提供的解决方案解决,您在文档中看到,您必须扩展
ServiceEntityRepository
,而不是
EntityRepository
,甚至更好,避免扩展存储库-这只会带来麻烦。改用干净的。它很简单,并且使您的代码容易出错
$em->getRepository(PatientFeedback::class)->getRatingReviewData(...)