0

На странице «Сотрудники» У меня есть поле «Название региона» с полем поиска.Поиск по пересечению нескольких таблиц в рельсах

Теперь мне нужно искать колонки-'Region Имя»от 'работника таблицы, перемещения в" таблице региона

Employee -> Company -> Organization -> Region 

таблица Employee имеет внешний ключ компании (company_id) таблицы

компании имеет внешний ключ от организации (organization_id)

Организация таблица имеет внешний ключ из области (region_id)

область таблица имеет столбец «region_ Название»

Это мои модели

class Employee < ActiveRecord::Base 
    belongs_to :company 
    belongs_to :organization  
end 

class Company < ActiveRecord::Base 
    belongs_to :organization 
    has_many :employee 
end 

class Organization < ActiveRecord::Base 
    belongs_to :region 
    has_many :company 
    has_many :employees, through: :companies 
end 

class Region < ActiveRecord::Base 
    has_many :companies 
    has_many :employees, through: :companies 
end 

Как я могу искать обход 3 таблицы и отображения списка сотрудников в индексной странице работников этого региона?

Примечание: базы данных Postgresql

ответ

1

Вы можете попробовать это:

Employee.joins(company: {organization: :region}).where(regions: {region_name: 'Your Region Name'})

 Смежные вопросы

  • Нет связанных вопросов^_^