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
实体,因为execute
是Query
的方法,它只对您创建的Query
起作用。当 EntityManager
与 UnitOfWork
一起使用时。
如果 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
实体,因为execute
是Query
的方法,它只对您创建的Query
起作用。当 EntityManager
与 UnitOfWork
一起使用时。