與IDS

2017-06-14 43 views
0

的陣列ActiveRecord的許多一對多查詢我有三個機型AR與IDS

class MessageThread < ActiveRecord::Base 
    has_many :message_threads_users, dependent: :destroy 
    has_many :users, through: :message_threads_users 
end 

class User < ActiveRecord::Base 
    has_many :message_threads_users, dependent: :destroy 
    has_many :message_threads, through: :message_threads_users 
end 

class MessageThreadsUser < ActiveRecord::Base 
    belongs_to :message_thread 
    belongs_to :user 
end 

鑑於user_ids數組(即[5, 6, 7])我要尋找或創造一個message_thread對象。我似乎無法找到在ActiveRecord Query API中執行此操作的好方法。有沒有辦法?

預先感謝您!

回答

0

我相信你將不得不加入MessageThreadUser然後有一個where子句。之後,如果您想要,您可以使用find以獲得更多特異性。

也許是這樣的:

message_thread = MessageThread.joins(:users).where(users: { id: [5, 6, 7] })