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(...)
致:
如果没有
-
,它将在当前名称空间中寻找一个函数nammedgetRatingReviewData,它将通过ankit parmarOn提供的解决方案解决,您在文档中看到,您必须扩展ServiceEntityRepository
,而不是EntityRepository
,甚至更好,避免扩展存储库-这只会带来麻烦。改用干净的。它很简单,并且使您的代码容易出错
$em->getRepository(PatientFeedback::class)->getRatingReviewData(...)