sql >> データベース >  >> RDS >> Mysql

教義リスナーに要素を挿入する

    onFlushの場合 が呼び出され、すべての変更はすでに計算されており、エンティティを変更したり、新しいエンティティを作成したりする場合は、それらを更新する必要があります。

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

    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. WindowsAPI関数CreateProcessAを使用してmysqlを初期化します

    2. PDOが存在しない場所にMYSQL挿入

    3. アップグレードされたdbForgeStudiofor MySQL、v.8.1でのMariaDB10.4のサポート

    4. Codeigniter ActiveRecord:バックティックに参加する