Поиск по нескольким таблицам в рельсах

На странице "Индекс сотрудников" у меня есть столбец "Имя региона" с полем поиска.

Теперь мне нужно искать столбец-"Имя региона" из таблицы "Сотрудник", переходя к таблице "Регион"

Employee -> Company -> Organization -> Region

Таблица сотрудников имеет внешний ключ компании (company_id)

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

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

Таблица регионов имеет столбец 'region_name'

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

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'})

Другие вопросы по тегам