adds a new output format
This commit is contained in:
parent
2372a85d9f
commit
b4b9709090
@ -25,6 +25,7 @@ use Symfony\Component\Console\Input\InputOption;
|
|||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
use Symfony\Component\Console\Output\OutputInterface;
|
use Symfony\Component\Console\Output\OutputInterface;
|
||||||
use Doctrine\Common\Util\Debug;
|
use Doctrine\Common\Util\Debug;
|
||||||
|
use JMS\Serializer\SerializerBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Command to execute DQL queries in a given EntityManager.
|
* Command to execute DQL queries in a given EntityManager.
|
||||||
@ -64,6 +65,11 @@ class RunDqlCommand extends Command
|
|||||||
new InputOption(
|
new InputOption(
|
||||||
'depth', null, InputOption::VALUE_REQUIRED,
|
'depth', null, InputOption::VALUE_REQUIRED,
|
||||||
'Dumping depth of Entity graph.', 7
|
'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
|
->setHelp(<<<EOT
|
||||||
@ -118,6 +124,22 @@ EOT
|
|||||||
|
|
||||||
$resultSet = $query->execute(array(), constant($hydrationMode));
|
$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…
Reference in New Issue
Block a user