bogdan_uman
@bogdan_uman
шлЫмазл неукЪ-поцЪ

Rails полиморфические связи и joins?

Здравствуйте. База данных Postgresql Как правильно соединять таблицу с полиморфическим полем. Мне например нужно вывести в поле organization значение с той или иной таблицы в зависимости от полиморфической связи. Я делаю на уровне БД, есть ли другие варианты. Спасибо?

class User < ApplicationRecord
  belongs_to :userable, polymorphic: true, optional: true
  belongs_to :supplier, foreign_key: :userable_id, optional: true
  belongs_to :institution, foreign_key: :userable_id, optional: true
end

    @users = User
      .left_outer_joins( :institution, :supplier )
      .select( :username, 
               " CASE users.userable_type WHEN 'Institution' THEN institutions.name WHEN 'Supplier' then suppliers.name else '' END AS organization"
      )
      .order( :username )
  • Вопрос задан
  • 194 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы