54 lines
1.5 KiB
PHP
54 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Doctrine\Bundle\DoctrineBundle\Command\Proxy;
|
|
|
|
use Doctrine\ORM\Tools\Console\Command\RunDqlCommand;
|
|
use Symfony\Component\Console\Input\InputInterface;
|
|
use Symfony\Component\Console\Input\InputOption;
|
|
use Symfony\Component\Console\Output\OutputInterface;
|
|
|
|
/**
|
|
* Execute a Doctrine DQL query and output the results.
|
|
*/
|
|
class RunDqlDoctrineCommand extends RunDqlCommand
|
|
{
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
protected function configure()
|
|
{
|
|
parent::configure();
|
|
|
|
$this
|
|
->setName('doctrine:query:dql')
|
|
->addOption('em', null, InputOption::VALUE_OPTIONAL, 'The entity manager to use for this command')
|
|
->setHelp(<<<EOT
|
|
The <info>%command.name%</info> command executes the given DQL query and
|
|
outputs the results:
|
|
|
|
<info>php %command.full_name% "SELECT u FROM UserBundle:User u"</info>
|
|
|
|
You can also optional specify some additional options like what type of
|
|
hydration to use when executing the query:
|
|
|
|
<info>php %command.full_name% "SELECT u FROM UserBundle:User u" --hydrate=array</info>
|
|
|
|
Additionally you can specify the first result and maximum amount of results to
|
|
show:
|
|
|
|
<info>php %command.full_name% "SELECT u FROM UserBundle:User u" --first-result=0 --max-result=30</info>
|
|
EOT
|
|
);
|
|
}
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
protected function execute(InputInterface $input, OutputInterface $output)
|
|
{
|
|
DoctrineCommandHelper::setApplicationEntityManager($this->getApplication(), $input->getOption('em'));
|
|
|
|
return parent::execute($input, $output);
|
|
}
|
|
}
|