Для запуска чистого SQL в консольной команде Symfony, вы можете воспользоваться Doctrine DBAL.
Doctrine DBAL - это независимая библиотека, которая предоставляет удобный интерфейс для работы с базами данных в Symfony, включая выполнение SQL запросов.
Вот подробный шаг за шагом процесс:
1. Установите Doctrine DBAL:
composer require doctrine/dbal
2. Создайте свою консольную команду, если у вас еще нет:
php bin/console make:command YourCommandName
3. Откройте новосозданный файл команды и добавьте необходимые зависимости и метод execute
в класс команды:
<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; use DoctrineDBALConnection; class YourCommandName extends Command { private $connection; public function __construct(Connection $connection) { $this->connection = $connection; parent::__construct(); } protected function configure() { $this ->setName('your:command:name') ->setDescription('Your command description'); } protected function execute(InputInterface $input, OutputInterface $output) { $sql = 'SELECT * FROM your_table'; $stmt = $this->connection->executeQuery($sql); $result = $stmt->fetchAll(); // работайте с результатом запроса здесь return Command::SUCCESS; } }
4. Зарегистрируйте вашу команду в файле config/services.yaml
:
services: AppCommandYourCommandName: tags: - { name: 'console.command' }
5. Теперь вы можете запустить вашу команду, введя следующую команду в консоли:
php bin/console your:command:name
Вот и все! Теперь вы можете выполнять чистый SQL в консольных командах Symfony с помощью Doctrine DBAL.
Обратите внимание, что в приведенном примере используется команда Symfony CLI make:command
, чтобы создать каркас вашей команды, и Doctrine DBAL для выполнения SQL запроса. Вы можете настроить вашу команду и запрос в соответствии с вашими потребностями.