adds a new output format
This commit is contained in:
parent
2372a85d9f
commit
b4b9709090
1 changed files with 23 additions and 1 deletions
|
@ -25,6 +25,7 @@ use Symfony\Component\Console\Input\InputOption;
|
|||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Doctrine\Common\Util\Debug;
|
||||
use JMS\Serializer\SerializerBuilder;
|
||||
|
||||
/**
|
||||
* Command to execute DQL queries in a given EntityManager.
|
||||
|
@ -64,6 +65,11 @@ class RunDqlCommand extends Command
|
|||
new InputOption(
|
||||
'depth', null, InputOption::VALUE_REQUIRED,
|
||||
'Dumping depth of Entity graph.', 7
|
||||
),
|
||||
new InputOption(
|
||||
'format', null, InputOption::VALUE_REQUIRED,
|
||||
'The output format of the result. Available formats: doctrine-debug (default), jms-serializer-json.',
|
||||
'doctrine-debug'
|
||||
)
|
||||
))
|
||||
->setHelp(<<<EOT
|
||||
|
@ -118,6 +124,22 @@ EOT
|
|||
|
||||
$resultSet = $query->execute(array(), constant($hydrationMode));
|
||||
|
||||
Debug::dump($resultSet, $input->getOption('depth'));
|
||||
switch ($input->getOption('format')) {
|
||||
case 'doctrine-debug':
|
||||
ob_start();
|
||||
Debug::dump($resultSet, $input->getOption('depth'));
|
||||
$message = ob_get_clean();
|
||||
|
||||
$output->write($message);
|
||||
break;
|
||||
|
||||
case 'jms-serializer-json':
|
||||
$serializer = SerializerBuilder::create()->build();
|
||||
$output->write($serializer->serialize($resultSet, 'json'));
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new \RuntimeException(sprintf('Unknown output format "%s"; available formats: doctrine-debug, jms-serializer-json', $input->getOption('format')));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue