Ссылка на несколько моделей ИППП с одинаковым идентификатором - PullRequest
0 голосов
/ 12 января 2019

У меня есть две модели 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]]

однако я хочу проверить оба типа пользователей (Teacher || AppTeacher)

Так что, если я бегу

ParentLead.last.teacher

он должен проверить таблицу пользователей для обоих типов пользователей (Teacher || AppTeacher)

любые предложения будут высоко оценены.

1 Ответ

0 голосов
/ 12 января 2019

Если я правильно понял ваш вопрос, то вы ищете " polymorphic-Ассоциации "

Немного более сложный поворот ассоциаций - полиморфный ассоциация. С полиморфными ассоциациями модель может принадлежать более чем одна другая модель, на одной ассоциации. Например, вы можете иметь модель изображения, которая принадлежит либо модели сотрудника или модель продукта.

Посмотрите, как это настроено, и дайте мне знать, если вам все еще нужна дополнительная помощь.

Счастливое Кодирование

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...