在字符串

时间:2016-11-09 12:06:58

标签: php symfony

我按照此处所述创建了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()

导致这个问题的原因是什么?

2 个答案:

答案 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]