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