2012-12-03 50 views
2

我有TopicChapter之间的HABTM关系现在我想按照主题下的特定顺序显示章节。如何以特定顺序显示查询记录

例如:某个章节可能是第二章下的一个主题,可能是第8章下的另一个主题。

我应该怎么做?提前致谢。

回答

2

在这种情况下,您有一个不平凡的多对多关系,连接表需要包含的不仅仅是每个主表的外键。

因此,您需要在主题和章节上从HABTM移动到has_many :through,并将连接表更改为它自己的模型,该模型不仅将两个主表关联起来,而且还将(顺便说一句,你应该不是名称“顺序”,因为它会混淆SQL和Rails :-)。

从一个标准的Rails HABTM模型转换起来很简单,但有一点建议:想一下它是什么,它使过去只是一个连接表成为一个真正的模型......并将它用作新模型(和相关的新表格)。在一个简单的HABTM中,你可以创建一个表chapters_topics,当它成为一个模型时,它可能是“ChapterTopic”(导致表chapter_topics)。

+0

正好,我在找的东西非常感谢:) –