Sre*_*RoR 1 activerecord ruby-on-rails ruby-on-rails-5.2
如何从关联中获取记录。我的工作表中有4个工作。如何使用resource_type_id = 2过滤所有工作。从下面的记录中,例如(我想获得2和3作为结果的工作ID)。
这是我的协会
class Job < ActiveRecord::Base
has_many :jobs_resources
has_many :resource_type, through: :jobs_resources, dependent: :destroy
end
class ResourceType < ActiveRecord::Base
has_many :jobs_resources
has_many :jobs, through: :jobs_resources, dependent: :destroy end
class JobsResource < ActiveRecord::Base
belongs_to :job
belongs_to :resource_type
end
Run Code Online (Sandbox Code Playgroud)
这是我的resources_type表的保存方式
请帮助任何帮助
您可以通过以下方式进行
Job.includes(:resource_type).where(resource_types: {id: 2})
Job.includes(:jobs_resources).where(jobs_resources: {resource_type_id: 2})
Job.joins(:jobs_resources).where(jobs_resources: {resource_type_id: 2})
Run Code Online (Sandbox Code Playgroud)