1
我想要放在一起的ActiveRecord查詢,將返回任何用戶ID在關聯的模型記錄更新在一個特定的範圍內。因此例如User has_many :searches
和has_many :lists
。我想要做這樣的事情:如何獲得user_ids,其中任何關聯updated_at在一個範圍內?
user_ids = [1,2,3,4]
search_users = Search.where(user_id: user_ids).where("updated_at > ?", 7.days.ago).pluck(:user_id)
list_users = List.where(user_id: user_ids).where("updated_at > ?", 7.days.ago).pluck(:user_id)
ids_i_care_about = (list_users + search_users).uniq
所以跨多個模型,我需要的是在我的範圍內的updated_at任何型號的user_ids。 (時間範圍只需要至少滿足一個模型的updated_at)。我這樣做的約12個左右的模型,每個都有一個user_id。
在ActiveRecord中執行此操作的最佳方法是什麼?