我正在学习Symfony,尝试创建一个使用repository的服务。我已经通过generate:entity创建了我的repositories和entities,所以它们应该是好的。
到目前为止,在我的services.yml中,我得到了:
parameters:
mytest.entity: TestTestBundle:Brand
mytest.class: Test\TestBundle\Entity\Brand
default_repository.class: Doctrine\ORM\EntityRepository
services:
myservice:
class: %default_repository.class%
factory-service: doctrine.orm.default_entity_manager
factory-method: getRepository
arguments:
- %mytest.entity%
但是当我尝试调用该服务时,出现以下错误:
Catchable Fatal Error: Argument 2 passed to Doctrine\ORM\EntityRepository::__construct() must be an instance of Doctrine\ORM\Mapping\ClassMetadata, none given, called in
然后我尝试只使用实体来创建服务。我的services.yml看起来像:
services:
myservice:
class: %mytest.class%
factory-service: doctrine.orm.default_entity_manager
factory-method: getRepository
arguments:
- %mytest.entity%
但是,就为了这个,我得到了:
Error: Call to undefined method
Test\TestBundle\Entity\Brand::findAll
有人知道我做错了什么吗?
谢谢
parent::__construct($arg)
来提供Doctrine所期望的内容。 - Francesco Casula