关于多对多关系的问题:完全迭代

Posted

技术标签:

【中文标题】关于多对多关系的问题:完全迭代【英文标题】:Question about many to many relationship: complete iteration 【发布时间】:2011-01-17 22:02:13 【问题描述】:

我有两个表之间的多对多关系。

我想用另一个表的相应元素显示一个表的元素。

例如:

user1->group2
       group5
user2->group1
       group3
       group4
...

当然,以一种简单而聪明的方式。我正在使用 php、symfony 和推进 1.4。

有什么建议或教程吗?

编辑:

我使用了一个连接并从交换表中获取对象,所以如果我迭代它,我会得到:

user1->group2
user1->group5
user2->group1
user2->group3
user2->group4

但我想知道如何从用户对象中获取组对象。

问候

贾维

【问题讨论】:

【参考方案1】:

嗯.. 一个简单的join 就足够了吗?

【讨论】:

【参考方案2】:

如果您在推进模式中定义了usergroup 表之间的关系,则User 对象将具有getGroups() 方法。从User 拨打此电话,您将获得该用户加入的所有组的列表。您可以在不自己进行连接的情况下执行此操作,但效率会降低,因为它会为每个用户执行一次额外的数据库查询。如果你在查询用户时加入,组也会被缓存。

【讨论】:

以上是关于关于多对多关系的问题:完全迭代的主要内容,如果未能解决你的问题,请参考以下文章

创建多对多表关系的三种方式

在多对多关系中删除正确

关于symfony的多对多关联关系的字段更新

多个多对多关系(循环关系)

使用多对多关系进行内部连接类似搜索

雄辩的多对多关系总是空的