如何以特定顺序显示查询记录
问题描述:
我有Topic
和Chapter
之间的HABTM关系现在我想按照主题下的特定顺序显示章节。如何以特定顺序显示查询记录
例如:某个章节可能是第二章下的一个主题,可能是第8章下的另一个主题。
我应该怎么做?提前致谢。
答
在这种情况下,您有一个不平凡的多对多关系,连接表需要包含的不仅仅是每个主表的外键。
因此,您需要在主题和章节上从HABTM移动到has_many :through
,并将连接表更改为它自己的模型,该模型不仅将两个主表关联起来,而且还将(顺便说一句,你应该不是名称“顺序”,因为它会混淆SQL和Rails :-)。
从一个标准的Rails HABTM模型转换起来很简单,但有一点建议:想一下它是什么,它使过去只是一个连接表成为一个真正的模型......并将它用作新模型(和相关的新表格)。在一个简单的HABTM中,你可以创建一个表chapters_topics
,当它成为一个模型时,它可能是“ChapterTopic”(导致表chapter_topics
)。
正好,我在找的东西非常感谢:) –