Doctrine:`execute` 方法是只执行它的特定请求还是刷新队列中的所有语句

Doctrine : does `execute` method execute only its specific request or it flushs all statements in the queue

如果 execute 方法仅执行其特定请求,或者它是否像 flush 那样刷新队列中的所有语句,我无法在 Doctrine 文档中找到。

考虑这样的代码:

...
$this->getEntityManager()->persist($cache);
...
$this->getEntityManager()
    ->createQuery('DELETE ReportBundle:Report r WHERE r.id = :id')
    ->setParameter('id', 1)
    ->execute();

由于此时没有flush方法,是否会在调用execute时创建$cache实体?

Doctrine 文档链接将不胜感激。

不会创建cache实体,因为executeQuery的方法,它只对您创建的Query起作用。当 EntityManagerUnitOfWork 一起使用时。