2016-03-01 101 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