пользовательская команда symfony2.6 с доктриной и swift

0

Попытка создать пользовательскую команду. Нужно получить некоторые записи из БД по Doctrine и отправить по электронной почте SwiftMailer. Используйте symfony 2.6.1. У меня код:

namespace MyBundle\Console\Command;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;


class Raport extends ContainerAwareCommand
{
    protected function configure()
    {
        $this
            ->setName('raport:count-day')
            ->setDescription('test');
    }

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $em = $this->getContainer()->get('doctrine')->getManager();
        $em->getRepository('My:Application')->findAll();
        // $output->writeln($text);
    }
}

Когда я запускаю команду в консоли raport: count-day всегда получает ту же ошибку

PHP Fatal error:  Call to undefined method Symfony\Component\Console\Application::getKernel() in /var/www/auto/pzu-voucher/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Command/ContainerAwareCommand.php on line 42 ($this->container = $application->getKernel()->getContainer();)

кто-нибудь знает, как его решить?

  • 0
    как вы выполняете эту команду?
Теги:
kernel
doctrine2
swiftmailer

2 ответа

1

Я использовал собственное приложение для запуска команд, и здесь я сделал что-то неправильно. Мои команды работают правильно, когда я запускаю его через приложение/консоль

Прости

0

Я думаю, вы должны следовать командной документации:

Чтобы команды консоли были доступны автоматически с помощью Symfony, создайте в своем пакете каталог команд и создайте файл PHP с суффиксом Command.php для каждой команды, которую вы хотите предоставить.

Ваш класс также должен быть переименован в ReportCommand.

  • 0
    Это не связано с проблемой, которую получает @Piotr
  • 0
    переименуйте класс, namespacess и переместите файл, тоже напишите каталог. Все еще есть ошибки :(
Показать ещё 1 комментарий

Ещё вопросы

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