2015-08-25 65 views
2

我对关系以及如何显示它有疑问。对象下的许多对象

我有一个通道可以有很多渠道,可以有更多的渠道,可以有更多的渠道..........

我怎样才能关联起来?

我认为,每个通道都可以有一个字段,告诉该频道它涉及到,如:

id name related_channel 
2 example1 null 
3 example2 2 
4 example3 2 
5 example4 4 

,你对此有何看法?

将它们关联后,如何显示通道下的所有通道?

在此先感谢!

回答

1

我是自联接的忠实粉丝,特别是存储的特效附近做对它们进行递归(但不是)操作。我在这里写了一个例子link。让我们任何人知道你是否需要这样的帮助。祝你好运。

+0

谢谢德鲁!这正是我需要的! – Morris

+0

自连接对于重新挂起整个子层次结构是非常棒的,呃?很高兴你发现了一些链接的使用。 – Drew

1

这种方法很好,你只需要在你的情况下设置一个“parent_id”或“related_channel”。

后,如果你想获得一个频道的所有儿童,只需使用SQL查询这样的:

SELECT * FROM channel where related_channel=x 
+0

NIce!谢啦。这个查询唯一的问题是,如果我有这种情况: 通道1>通道2>通道3 当我使用此查询: SELECT * FROM通道where related_channel = 1 通道3不会出现,因为他的related_channel是2,但他也是channel1的孩子 – Morris