我按照此处所述创建了symfony服务:Symfony2: get Doctrine in a generic PHP class
Service.yml
app.lib.helpers:
class: AppBundle\Lib\Helpers
arguments: [doctrine.orm.entity_manager]
班级助手
class Helpers
{
protected $em;
public function __construct($entityManager)
{
$this->em = $entityManager;
}
public function checkStatuses()
{
$orderId = $this->em->getRepository('AppBundle:Orders')->findAll();
}
}
在控制器操作中
$helper = $this->get('app.lib.helpers');
$helper->checkStatuses();
但我得到错误:
错误:在字符串
上调用成员函数getRepository()
导致这个问题的原因是什么?
答案 0 :(得分:3)
我认为应该是
arguments: [ "@doctrine.orm.entity_manager" ]
在您的Service.yml
中答案 1 :(得分:2)
您的服务定义不正确,请尝试此操作,或者您可以阅读此内容以获取更多解释http://symfony.com/doc/current/service_container.html:
app.lib.helpers:
class: AppBundle\Lib\Helpers
arguments: [@doctrine.orm.entity_manager]