Как получитьEntityManager () из внешней модели / контроллера? - PullRequest
3 голосов
/ 29 января 2012

Я пытаюсь использовать Symfony 2 с Doctrine 2. Но у меня есть следующая проблема: после создания класса, который на самом деле не является ни контроллером, ни моделью, я хотел использовать там getEntityManager (). Но как я могу получить это?

Спасибо заранее.

1 Ответ

7 голосов
/ 29 января 2012

Вам необходимо определить этот класс как службу, а затем передать диспетчер сущностей в качестве аргумента (либо внутри конструктора, либо через установщик).

Для получения дополнительной информации ознакомьтесь с Документация контейнера службы .

Примерно так:

services:
    my_hello_class:
        class:        Acme\HelloBundle\HelloClass
        arguments:    ["@doctrine.orm.entity_manager"]

И тогда класс будет выглядеть так:

// ....

class HelloClass
{
    private $em;

    public function __construct(\Doctrine\ORM\EntityManager $em)
    {
        $this->em = $em; 

        // ....
    }   

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...