2011-07-06 4 views
2

제목은이 모든 것을 설명합니다. 엔터티에 lifecyclecallback 함수가 있습니다. 엔티티가 아닌 PostPersist 이벤트에서 마지막으로 삽입 된 ID를 가져 오려고합니다. 영속화 된 개체 후 엔티티 발생하는 postPersist 이벤트 - 예를 들어 나는Doctrine 2 - PostPersist에서 마지막으로 삽입 한 ID의 ID를 얻는 방법?

postPersist을 기록 문서에서

$newSeating = new Seat(); 
$newSeating->setTitle("Something"); 
$this->_em->persist($newSeating); 
$this->_em->flush(); 
$newSeating->getId(); 

하고 싶은 해달라고. 데이터베이스 삽입 후 이 호출됩니다. 생성 된 기본 키 값은 postPersist 이벤트에서 사용할 수 있습니다.

그래서 어떻게 postPersist에서 기본 키 값을 가져올 수 있습니까? (I는 각각의 모든 Mappedsuperclass 연장 엔티티 사용할 수 있도록 "Mappedsuperclass 및 postpersist 기능 Mappedsuperclass에 사용 M)

답변

4
... 
public function postPersist(\Doctrine\ORM\Event\LifecycleEventArgs $e) { 
    $newSeating = $e->getEntity(); 
    $id   = $newSeating->getId(); 
} 
... 
+0

그것은 postpersist 1 개 인수를 필요로하는 에러가 발생 감사.하지만 0 – ufucuk

+0

주어 어떤 Doctrine 2 버전을 사용합니까? –

+0

버전 2.0.6을 사용합니다 – ufucuk

관련 문제