2012-10-18 143 views
25

我有兩個實體:User和Person。Symfony2:獲取持久化對象的ID

在實體用戶我需要關聯人員的ID:user_id。

當我創建一個新用戶時,我必須首先創建該用戶,然後創建用戶。 在用戶中,我必須把對應的人的身份證,爲此,我需要獲得持久對象人的ID是一個自動增量。

是否有可能獲得對象的後ID:

$em->persist($person); 
$em->flush(); 

我怎樣才能做到這一點?

另一種方法是搜索最大的id它表Person,並採取這一個,但我認爲應該有一個更好,更容易的方法來獲取持久對象的id。

在PHP中,例如,當我執行

$articleID = $_DB->queryRaw((....); 

我越來越喜歡的ID。

回答

39

Symfony2 with Doctrine作爲默認的ORM會在數據存儲在數據庫後自動生成一個ID。所以你可以通過->getId()

$id = $person->getId(); 
+0

謝謝@HHabibillah,這個工程。唯一的事情:在PHP中沒有var,只有$ id = $ person-> getId(); 如果你可以編輯這個請,我會接受你的答案。 –

+0

感謝您的糾正。我編輯是一個正確的語法。 – Habibillah

+2

謝謝,我會在1小時內接受答案,現在我有發佈會了。 –