我在用户表上有两个STI模型:
class Teacher < User
has_many :parent_leads
class AppTeacher < User
has_many :parent_leads, foreign_key: :teacher_id
我与
定义了关系class ParentLead < Lead
正在迁移:
add_foreign_key :leads, :users, column: :teacher_id
问题在于,在运行activerecord查询时
ParentLead.last.teacher
它查询类似的东西
Teacher Load (4.1ms) SELECT "users".* FROM "users" WHERE "users"."deleted_at" IS NULL AND "users"."type" IN ('Teacher') AND "users"."id" = $1 LIMIT $2 [["id", 1419], ["LIMIT", 1]]
但是我想检查两种类型的用户(教师|| AppTeacher)
所以,如果我跑步
ParentLead.last.teacher
应该检查用户表中是否有两种类型的用户(教师|| AppTeacher)
任何建议将不胜感激。
答案 0 :(得分:0)
如果我正确回答了您的问题,那么您要找的是“ polymorphic-associations”
多态性在关联上略微更高级 协会。使用多态关联,模型可以属于更多 一个单一关联上的模型。例如,您可能 具有属于员工模型或员工模型的图片模型 产品型号。
看看这是如何设置的,如果您仍然需要更多帮助,请告诉我。
快乐编码