Создать команду в Symfony2

1

Я создал объект User с полями: имя, пароль, адрес электронной почты. Мне действительно нужно создать service которая извлекает только записи моего письма? ($this->getContainer()->get('myservice)) Пожалуйста, помогите мне решить эту проблему.

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $em = $this->getDoctrine()->getEntityManager();
        $query = $em
           ->createQuery('SELECT u.email FROM ModelBundle:User u')
        ->getResult();
        $this->getContainer()
        output->writeln($query);
    }

Если я запустил свою команду, у меня есть ошибка

[Symfony\Component\Debug\Exception\UndefinedMethodException] Attempted to call method "getDoctrine" on class "Elastica\CoreBundle\Comman d\EmailCommand".

  • 0
    Вы должны добавить служебный контейнер в вашу команду, а затем получить доктрину из этого контейнера.
  • 0
    @Med Не могли бы вы написать ответ ниже? Я отмечаю ваш ответ на этот вопрос правильно. Может кому-то нужно
Теги:

1 ответ

0
Лучший ответ

Вместо $this-> getDoctrine() вы должны использовать $this-> getContainer() → get ('doctrine')

Поскольку $this-> getDoctrine() short-cut доступен только в контроллерах

Ещё вопросы

Сообщество Overcoder
Наверх
Меню