Symfony生成器生成以下类库:
namespace AppBundle\Repository;
use AppBundle\Entity\GroupEntity;
/**
* GroupEntityRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class GroupEntityRepository extends \Doctrine\ORM\EntityRepository
{
}
services.yml:
group_entity_repository:
class: AppBundle\Repository\GroupEntityRepository
arguments: ["@doctrine.orm.entity_manager", AppBundle\Entity\GroupEntity]
我错误地配置了services.yml,但我现在不知道如何使用第二个参数 . 所以我得到错误:
可捕获的致命错误:传递给Doctrine \ ORM \ EntityRepository :: __ construct()的参数2必须是Doctrine \ ORM \ Mapping \ ClassMetadata的实例,在E:\ other \ dropbox \ Dropbox \ programavimas \ kodo pavyzdziai中调用的字符串第1626行的\ htdocs \ users_admin_demo \ var \ cache \ dev \ appDevDebugProjectContainer.php并定义
怎么解决?我在文档中看不到,它只显示了生成器和最终生成的类的代码,但没有显示服务配置 .
2 回答
Recommended as of Symfony 3.3:
从Symfony 3.3开始,建议使用实际的类名作为服务ID(read this和this) .
Original answer:
您可以像这样配置存储库服务:
您可能永远不想自己调用存储库构造函数 . 因此,这种方法只使用entity_manager来获取存储库 . 服务容器基本上使用此代码来获取存储库:
示例SF 3.4如何在xml中制作: