0

在员工索引页面中,我有一列“区域名称”,并带有一个搜索字段。

现在我需要从'Employee'表中搜索列-'Region Name',遍历到'Region'表

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

4

1 回答 1

1

你可以试试这个:

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

于 2016-07-08T07:35:54.630 回答