2016-03-01 152 views
0
class Entry < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :job 
end 

class User < ActiveRecord::Base 
    has_many :entries 
    has_many :jobs, through: :entries 
end 

class Job < ActiveRecord::Base 
    belongs_to :job_type 
    has_many :entries 
    has_many :users, through: :entries 
end 

我一直在尝试一段时间,似乎无法得到此。我想通过条目选择分配给用户的所有作业(user_id:1)。任何帮助都会很棒。Rails has_many通过ActiveRecord查询

注:我试过

Job.find(3).entries 

但只是返回有3

回答

1

其他(当前)答案需要至少两个数据库查询。这应该给你你想要的一个:

Job.joins(:users).where(users: { id: 1 }) 
+0

完美,伟大的工程!非常感谢(还有Steve和Jack) – user3007294

1

是否User.find(1).jobs给你你在找什么工作数量的条目?

1
u = User.find(1) 
what_you_want = u.jobs