[英]Get rails ActiveRecord instead of Array of objects for multiple queries
我有一個表,用於存儲返回用戶列表的查詢。 然后,我有一個“香蕉”模型的方法“ get_public”,可以使用它們之間的邏輯與執行多個查詢。
所以,當我這樣做
Banana.find(x).get_public
我收到了一個用戶數組(適用於該香蕉對象的用戶)。
get_public方法是這樣的:
def get_public
pb = []
banana_queries.each do |q|
pb << User.find_by_sql(q.query)
end
pb.inject(:'&')
end
但是,如果我能獲得ActiveRecord :: Relation會很棒。 我想在以后做這樣的事情: Banana.find(x).get_public.where(...)
方法可以修改get_public並實現它?
我不確定我是否正確地解決了這個問題,但是無論如何我都會盡力幫助。
如此處指定
因此,我建議將您的查詢分為:“ joins”和“ where”字段。 您的新代碼應如下所示:
pb << User.joins(q.query_joins).where(q.query_where)
在軌4中,不推薦使用find方法,因此建議使用where。
希望我不要錯過太多的重點了:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.