Mysql Rails表与枚举列的关联
给定包含4个不同应用程序和用户之间关系的表Mysql Rails表与枚举列的关联,mysql,ruby-on-rails,activerecord,Mysql,Ruby On Rails,Activerecord,给定包含4个不同应用程序和用户之间关系的表uploads: field type dogTag int (foreign key to dvd) app enum uploader int (foreign key to user) mod string ... 和表DVD: dogTag int (primary key) title string ... 以及表用户: id int (primary key) ... 如果Rails中的dvds
uploads
:
field type
dogTag int (foreign key to dvd)
app enum
uploader int (foreign key to user)
mod string
...
和表DVD
:
dogTag int (primary key)
title string
...
以及表用户
:
id int (primary key)
...
如果Rails中的dvds
表与uploads
表依赖于枚举列,那么如何正确地构建它们之间的模型关系
使用sql,我只需执行以下操作:
JOIN uploads ON uploads.dogTag = dvds.dogTag
WHERE uploads.app = 'dvd'
但是我不知道如何在Rails中创建这种关系,也没有找到很多关于这方面的信息
谢谢我不太清楚如何创建与枚举列的关系,但是如果应用程序中的四个模型只有一个上载模型,那么您可以使用多态关联,ryan很好您可以重新组织数据库,使枚举类型成为一个查找表,您可以创建一个非持久性模型来实现它 问题是,如果您从模型而不是数据库开始,您就不会接近mysql的枚举类型,这就是为什么您很难找到很多,您已经做到了
我的建议是把它扔掉……是的,你说得很对。但在事情简单得多的时候,它似乎是一个很好的解决方案:)我必须考虑如何摆脱它,问题是有一堆PHP代码依赖于该模型,我自己从来都不喜欢它们,waaaay的问题太多,好处太少。