0

我使用 Doctrine DBAL v2.5.0,我想执行一个简单的更新语句。在文档中写道,我应该为此使用方法 executeUpdate() ( http://doctrine-dbal.readthedocs.org/en/latest/reference/data-retrieval-and-manipulation.html#executeupdate )。但是在源代码中这个方法有注解@internal。因此,我不确定是否应该从非库代码中使用此方法。我是不是该?

4

1 回答 1

0

看来您必须executeUpdate()在教义服务上使用该方法,而不是在实体管理器上使用该方法。

$this->container->get('doctrine.orm.entity_manager')->getConnection()->executeUpdate($query);在我的 IDE 中发出警告,executeUpdate()即 @internal。

$this->container->get('doctrine')->getConnection()->executeUpdate($query); 或在控制器$this->getDoctrine()->getConnection()->executeUpdate($query);中不给出任何警告。

换句话说:您想在 \Doctrine\Bundle\DoctrineBundle\Registry类而不是 \Doctrine\ORM\EntityManager类上调用 executeUpdate() 方法

PD 也许我应该提到我正在将 Doctrine 与 Symfony2 结合使用。

于 2015-01-10T00:23:56.980 回答