sql >> Databáze >  >> RDS >> Mysql

Vložení prvku do posluchače doktríny

Protože když onFlush Všechny změny jsou již vypočítány a pokud změníte entitu nebo vytvoříte novou entitu, musíte je obnovit.

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

Pro postPersist:

$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. Je dobrý nápad používat Hibernate pro reprezentaci tabulkových vztahů?

  2. Upozornění:mysqli_connect():(HY000/1045):Přístup odepřen pro uživatele 'username'@'localhost' (pomocí hesla:ANO)

  3. Proč k této chybě došlo při vytvoření EVENT se složeným příkazem?

  4. Uživatel Postgres neexistuje?