>백엔드 개발 >PHP 튜토리얼 >교리 2에서 변경된 엔터티 필드를 검색하는 방법은 무엇입니까?

교리 2에서 변경된 엔터티 필드를 검색하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-08 03:35:01741검색

How to Retrieve Changed Entity Fields in Doctrine 2?

Docrine 2를 사용하여 변경된 엔터티 필드 검색

setter를 사용하여 엔터티의 상태를 수정할 때 어떤 필드가 변경되었는지 아는 것이 유용한 경우가 많습니다. . 교리 2는 이 정보를 검색하는 메커니즘을 제공합니다.

변경된 필드 목록을 얻으려면 다음 단계를 따르십시오.

1. 작업 단위 가져오기

엔티티 관리자와 연결된 작업 단위(UoW)를 검색하여 시작합니다.

$uow = $em->getUnitOfWork();

2. 변경 세트 계산

관리 엔터티에 대한 변경 세트 계산을 트리거합니다.

$uow->computeChangeSets();

3. 엔터티 변경 세트 검색

UoW의 getEntityChangeSet 메소드를 사용하여 원하는 엔터티에 대한 특정 변경 사항을 검색합니다.

$changeset = $uow->getEntityChangeSet($entity);

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

preUpdate 리스너 내에서 변경된 필드에 액세스하는 경우 변경 세트가 이미 계산되었으므로 다시 계산하지 마십시오. 변경 세트를 직접 검색하기만 하면 됩니다.

경고:

이 솔루션은 Doctrine 이벤트 리스너 내에서만 사용하도록 고안되었으며 이 컨텍스트 외부에서 사용해서는 안 됩니다. 그렇게 하면 Doctrine의 정상적인 동작이 중단될 수 있습니다.

위 내용은 교리 2에서 변경된 엔터티 필드를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.