4

プロパティが実際に変更されていないときに、エンティティを手動で更新するようにスケジュールするにはどうすればよいですか?

試し$entityManager->getUnitOfWork()->scheduleForUpdate($entity)ましたが、コアでエラーが発生し、Doctrineをデバッグするつもりはありません。

重要な場合、エンティティは管理されます。$entity = $repository->findOne(1)

私はこれが必要なので、教義は私を呼びEventSubscriberますflush()

私ものようなものを試しまし$entityManager->getEventManager()->dispatchEvent(\Doctrine\ORM\Events::preUpdate)たが、リスナーのは。の代わりにpreUpdate()受信します。EventArgsPreUpdateEventArgs

どんな助けでも大歓迎です!

4

4 に答える 4

4

Wpigott が言及した方法は私にとっては機能しません (少なくとも doctrine/orm v2.4.2 では)、代わりにこれを使用しています:

$entityManager->getUnitOfWork()->setOriginalEntityProperty(spl_object_hash($entity), 'field_name', '__fake_value__');

field_nameプロパティ名が存在する場所。

于 2014-04-15T15:56:22.130 に答える
0

目標は何ですか?プロパティが変更されていない場合、更新を計画する理由は何ですか?

于 2012-12-25T13:42:22.447 に答える