爲了提高應用程序的性能,我想分開查詢而不是使用leftJoins。然後,我要創造我自己的相關Doctrine_Collection:學說:不加載相關記錄
$user->Friends->add($current_friend);
但我不想做學說查詢時,我嘗試訪問相關的(非充電狀態)系列。
我該怎麼做。 在此先感謝。
爲了提高應用程序的性能,我想分開查詢而不是使用leftJoins。然後,我要創造我自己的相關Doctrine_Collection:學說:不加載相關記錄
$user->Friends->add($current_friend);
但我不想做學說查詢時,我嘗試訪問相關的(非充電狀態)系列。
我該怎麼做。 在此先感謝。
我認爲答案在this § about relation handling。建立一個新的友誼關係並保存它,而不是添加一個朋友到一個用戶對象。
後來我發現這種方式(我應該優化此):
$my_relation_collFriend = FriendTable::getInstance()->findByIdUser($user->id_user);
foreach($my_relation_collFriend as $friend)
{
$collFriend = $user->get('Friends', false); //get the related collection without db query
if(!$collFriend) //unfornatly, It can be null
{
$collFriend = new Doctrine_Collection::create('friend'); //create the collection
$user->set('Friends', $collFriend, false); // define the related collection without db query
}
$collFriend->add($friend); //add the record to related collection
}
有了這個例子,我知道這是無用的,但有很多的連接和數據單項有必要
我明白你的意思,但我不想保存新朋友(它已經存在於數據庫中),我想通過多個查詢來重新創建用戶和朋友的對象圖,而不是隻有一個。 – DEY 2010-12-09 10:51:32