교리 2에서 개체 변경을 추적하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-10 09:19:02
원래의
306명이 탐색했습니다.

How to Track Entity Changes in Doctrine 2?

Docrine 2에서 항목 변경 추적

Doctrine 2는 EntityManager 및 UnitOfWork를 사용하여 항목의 변경된 필드를 추적하는 방법을 제공합니다.

$e 엔터티가 있고 이를 수정한다고 가정합니다. 필드:

$e->setFoo('a');
$e->setBar('b');
로그인 후 복사

변경된 필드 배열을 검색하려면:

  1. UnitOfWork 가져오기:

    $uow = $em->getUnitOfWork();
    로그인 후 복사
  2. 컴퓨팅 변경 사항:

    $uow->computeChangeSets();
    로그인 후 복사
  3. 엔티티 변경 사항 가져오기:

    $changeset = $uow->getEntityChangeSet($e);
    로그인 후 복사

$changeset에는 다음이 포함됩니다. 수정된 모든 속성-값 쌍:

[
    'foo' => ['old' => 'oldFoo', 'new' => 'a'],
    'bar' => ['old' => 'oldBar', 'new' => 'b'],
]
로그인 후 복사

사전 업데이트 리스너를 위한 참고 사항:

사전 업데이트 리스너 내에서 업데이트된 필드를 검색하려는 경우 이미 발생한 변경 세트 계산을 건너뜁니다. 변경 사항을 검색하려면 getEntityChangeSet을 호출하기만 하면 됩니다.

경고:

Doctrine 이벤트 리스너 외부에서 이 메서드를 사용하면 작업이 중단될 수 있습니다.

위 내용은 교리 2에서 개체 변경을 추적하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿