0

データベースから基本エンティティを引き出し、ループ内でクローンを作成して新しいエンティティを作成し、詳細を変更してエンティティを永続化しています。

何らかの理由で、これはを呼び出すときに投入No Entity in Identity MapされaddToIdentityMapています。UnitOfWorkEntityManager->flush()

また、エンティティを作成し、すべてのプロパティを手動で設定しようとしましたが、違いはありません。

私は教義の内部に特に精通していませんが、ここで何がうまくいかないのですか?

4

1 に答える 1

0

__cloneDoctrine が新しいエンティティとして認識できるように、エンティティ クラスにメソッドを追加して識別子を null にしてみてください:

public function __clone()
{
    if ($this->id) {
        $this->id = null;
    }
}

このメソッドは、安全に実装するために Doctrine のドキュメントをモデルにしたものであることに注意してください。__clone

于 2015-03-19T13:49:19.203 に答える