给定表uploads
,其中包含4个不同的应用和用户之间的关系:
field type
dogTag int (foreign key to dvd)
app enum
uploader int (foreign key to user)
mod string
...
表dvds
:
dogTag int (primary key)
title string
...
表users
:
id int (primary key)
...
如果依赖于ENUM列,如何在Rails中正确构建dvds
表和uploads
表之间的模型关系?
使用sql我只需:
JOIN uploads ON uploads.dogTag = dvds.dogTag
WHERE uploads.app = 'dvd'
但是不知道如何在Rails中创建这种关系,而且还没有找到很多关于此的信息。
由于
答案 0 :(得分:0)
我对如何与枚举列创建关系没有太多想法,但如果它是您的应用中的四个模型,只有一个上传模型,那么您可以使用polymorphic association
,ryan很棒{{3 }}
答案 1 :(得分:0)
您可以重新组织数据库以使枚举类型成为查找表,您可以创建一个非持久模型来实现它。
事情是,如果你是从模型开始而不是从数据库开始的话,你就不会在mysql的枚举类型附近找到任何东西,这就是为什么你很难找到很多东西,你已经去了它的低音。
我的建议摆脱它......