Mysql
 sql >> база данни >  >> RDS >> Mysql

Вмъкване на елемент в слушател на доктрина

Защото когато onFlush се извиква, всички промени вече са изчислени и трябва да ги опресните, ако промените обекта си или създадете нов обект.

$em = $this->getEntityManager();
$uow = $em->getUnitOfWork();
$logMetadata = $em->getClassMetadata('Your\LogClass');
...
$em->persist($log);
$uow->computeChangeSet($logMetadata, $log);

За postPsist:

$em = $this->getEntityManager();
$uow = $em->getUnitOfWork();
$log = new Log;
...

$logMetadata = $em->getClassMetadata('Your\LogClass');
$className = $logMetadata->name;
$persister = $this->getEntityPersister($className);
$persister->addInsert($log);
$uow->computeChangeSet($classMeta, $logEntry);
$postInsertIds = $persister->executeInserts();

if ($postInsertIds) {
    foreach ($postInsertIds as $id => $entity) {
        $idField = $logMetadata->identifier[0];
        $logMetadata->reflFields[$idField]->setValue($entity, $id);
        $this->addToIdentityMap($entity);
    }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да наложа уникално ограничение в MySQL?

  2. Бавната заявка на Mysql:INNER JOIN + ORDER BY причинява сортиране на файлове

  3. Как да напиша sql заявката за избор и групиране по тип и брой за тип?

  4. В MySQL „USE INDEX“ не работи, но „FORCE Index“ изглежда работи добре

  5. Разлика между DataSource и ConnectionPoolDataSource