嗨额外的字段多对多关系,我有同样的问题在这里:Many-to-many self relation with extra fields?但我不能找到一个答案:/我第一次尝试多对一和其他站点的一对多......但后来我不能使用的东西像与Symfony2的ORM学说
public function hasFriend(User $user)
{
return $this->myFriends->contains($user);
}
,因为有一些这样的问题:
This function is called, taking a User type $user variable and you then use the contains() function on $this->myFriends.
$这个 - > myFriends是请求的ArrayCollection(所以不同的类型的用户),并从理论文献约含有():
The comparison of two elements is strict, that means not only the value but also the type must match.
那么,什么是解决与额外的字段这个多对多关系的最佳方式?或者,如果我会回去,并设置onetomany和manytoone关系如何修改hasFriend方法?例如检查ID是否在ID的数组集合中。
编辑:我有这个表...和我需要的是:1。 选择我的朋友......和我的追随者...检查,如果我的朋友与他或不。 (因为他可以成为我的朋友,我不必和他在一起......就像在twitter上)。我可以做很多东西,但我需要额外的领域,如:“看到”,“他订阅我的时间”,你可以在我的桌子上看到。
并作出这样的查询,然后可以在树枝检查(app.user.hasFriend(跟随)或类似的东西)
$qb = $this->createQueryBuilder('r')
->select('u')
->innerJoin('UserBundle:User', 'u')
->Where('r.friend_id=:id')
->setParameter('id', $id)
->orderBy('r.time', 'DESC')
->setMaxResults(50);
return $qb->getQuery()
->getResult();
是否有任何理由(不是想其他只有一个 - 以下的关系时>在你的代码),你不希望第三实体? – MrGlass 2013-03-04 16:05:52
hm ...所以你说...我有用户实体,我将有朋友财产与OneToMany关系的朋友实体,我会有与UserEntity ManyToOne关系的user_id ...(如我现在)+我需要创建FriendsData实体,我将拥有...什么? :/啊这么困惑... – EnchanterIO 2013-03-04 16:15:48
请编辑帖子,并告诉我们什么属性,你想存储和在哪里,因为也许它可以解决使用只有两个实体 – gdlin 2013-03-04 20:28:30