为了提高应用的性能,我想分开查询而不是使用leftJoins。然后我必须创建自己的相关Doctrine_Collection:
$user->Friends->add($current_friend);
但是当我尝试访问相关(未加载)的集合时,我不希望doctrine进行查询。
我怎么能这样做。 提前谢谢。
答案 0 :(得分:0)
我认为答案在this § about relation handling。建立新的友谊关系并保存,而不是将朋友添加到用户对象。
答案 1 :(得分:0)
然后我发现了这种方式(我应该优化它):
$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
}
通过这个例子,我知道这是无用的,但有很多连接和数据,这是必要的