如何从控制台组件应用程序访问数据库?

how to access DB from console component application?

我正在尝试使用命令控制台构建批处理作业,需要连接到数据库以获取数据。

我注意到不同部分访问数据库的方法不同。使用来自控制器 $this->getDoctrine()->getRepository() 并且 对于服务,它是 $this->getEntityManager()->getConnection()

使用控制台组件连接到数据库对象的方式是什么?

如果您正在编写一些自定义控制台命令,我相信您可以将其扩展到

Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand

然后只需使用

$this->getContainer()->get('doctrine')

在正确的地方。