0
让我们先看看我的数据库模式,这是一个数据库表的简单结构,如下所示。将多个模型与模型关联
page table (id, title, description, link)
post table (id, body)
list table (id, name)
user table (id, uname, upawd)
tag table (id, name)
tag_item (tag_id, item_id, item_type)
表tag_item
的数据行会是这样的。
tag_id item_id item_type
1 1 page
1 2 page
1 1 post
2 1 user
3 1 list
的item_type
和tag_item
表作为相关的表名和表的主键ID item_id
场,换句话说,我想利用标签作为关键字的所有表的关联。 那么,如何在单独的模型类中编写代码来将对方与标签相关联。 如何使用rails的方式设计类模型中的关联。
在此先感谢。
你也有一个'type'表? – Behrang
没有'type'表,'type'字段在tag_item表中。该字段主要用于标记“page”之类的对象类型。 'post','user'等等。这意味着我上面的每个对象都有它的标签,我们创建一个用于存储所有标签的标签表,并且需要一个像'tag_item'这样的表来关联所有对象表和标签表 – coolesting
但是您也有'type_id'。你最好创建一个'type'(实际上在rails表中名字应该是复数,所以你需要'types')表,就像'types(id,name)'一样,在你的'tag_items'表中引用它就像'tag_items(tag_id,type_id )'。 – Behrang