我有这个:
$this->getDI()['entityManager']->getConnection()->delete('flakk', array('profile_id' => 2));
这没有效果,该记录仍然存在。我错过了什么吗?
答案 0 :(得分:2)
在致电flush();
我可以建议在使用doctrine之前阅读有关堆栈溢出的问题的文章,因为这些内容都写成 in the documents :< / p>
理解只有
EntityManager#flush()
导致对数据库执行写操作非常重要。任何其他方法(例如EntityManager#persist($entity)
或EntityManager#remove($entity)
)仅通知UnitOfWork
在刷新期间执行这些操作。 不调用EntityManager#flush()
会导致请求丢失期间的所有更改。