當你要插入一個Entity你這樣做:你如何使用Doctrine 2中的實體關係?
$user = new User();
$user->setEmail('[email protected]');
$em->persist($user);
$em->flush();
但是,如果我想創建可以具有一個用戶的文章是什麼;
目前,我需要做的:
$user = $em->getRepository('User')->find($id);
$article->setUser($user);
這是因爲關係的,原則2請求的用戶實體。
但是,我不能「模擬」的用戶對象,因爲我不希望的ID可以手動設置,所以我不能做信息:
$user = new User();
$user->setId(45);
我錯了這個行爲,你好嗎?
加載用戶實體只是爲了設置關係,即使是使用高速緩存(這不總是一個選項),尤其是對於更新,可能是性能問題。
真棒,謝謝(再次!) – JohnT 2011-05-16 09:04:27
洛爾蒂姆,再次這個難以捉摸的'getReference()'功能保存一天。順便說一句 - 在代碼'$ em()'中輸入錯字。 – Cobby 2011-05-16 13:36:35
@Cobby - 它看起來像#1清晰記錄,但經常被忽視的功能。畢竟,我們可能已經找到了一個體面的使用案例