Это часть сценария:
Код: Выделить всё
try {
$this->getDoctrine()->getConnection()->beginTransaction();
// ...
$manager = $this->getDoctrine()->getManager();
$entity = new Post();
$entity
->setAuthor($author)
->setTitle($title)
->setContent($content)
;
$manager->persist($entity);
$manager->flush();
$this->getDoctrine()->getConnection()->commit();
return $entity->getId();
} catch (\Doctrine\DBAL\DBALException $e) {
$this->getDoctrine()->resetManager();
$output->writeln(sprintf(
'[!] %s (%s) the post could not be created "%s"',
get_class($e),
date('Y-m-d H:i:s'),
$e->getMessage()
));
return false;
} catch (\Exception $e) {
$this->getDoctrine()->getConnection()->rollback();
$output->writeln(sprintf(
'[!] %s (%s) the post could not be created "%s"',
get_class($e),
date('Y-m-d H:i:s'),
$e->getMessage()
));
return false;
}
Подробнее здесь: https://stackoverflow.com/questions/271 ... lexception