symfony4:控制台命令中的mysql

时间:2018-09-28 07:58:31

标签: symfony doctrine em

在控制台命令中创建mysql连接的最佳方法是什么?

    $doctrine = $this->getContainer()->get('doctrine');
    $em = $doctrine->getEntityManager();

我想编写自己的查询,您的查询方式如何? 因为在symfony4文档中,它使用了学说。

例如,我可以使用https://packagist.org/packages/illuminate/database,但这是一个好习惯吗?

1 个答案:

答案 0 :(得分:0)

您总是可以使用Doctrine编写自己的sql(几乎不需要)。

https://ourcodeworld.com/articles/read/245/how-to-execute-plain-sql-using-doctrine-in-symfony-3

但是

$this->getContainer()

在命令中不可用。我建议使用自动装配。

/**
 * Command constructor.
 *
 * @param EntityManagerInterface $entityManager to access Doctrine
 *
 * @return void
 */
public function __construct(
    EntityManagerInterface $entityManager
) : void {

    $this->_entityManager = $entityManager;

    parent::__construct();
}

此外,Doctrine确实非常强大,因此可以立即解决您的问题。