通过在边栏中遍历多个表进行搜索



在员工索引页面中,我有"区域名称"列,带有搜索字段。

现在我需要从"员工"表中搜索列-"区域名称",遍历到"区域"表

Employee -> Company -> Organization -> Region

员工表包含公司的外键(company_id)

公司表具有组织(organization_id)的外键

组织表具有区域(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 个表和在"该区域的员工"的索引页中显示员工列表?

注意:database-Postgresql

你可以试试这个:

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

最新更新