私は2つのモデルを持っています:
Answers:
belongs_to: user
User:
has_many: answers
RubyまたはRailsで、配列を作成して必要なオブジェクトをその中にプッシュする代わりに、一度に次のことを行う方法はありますか?
def top_experts
answers = Answer.where(some constraints)
users = []
answers.each do |answer|
users << answer.user
end
users
end
あなたはユーザーができます joins
def top_experts
Answer.where(some constraints).includes(:user).collect{|x| x.user}
# Will return an Array of users
end
編集:
includes
積極的な読み込みに使用します。これにより、ユーザーを取得するために実行されるクエリの数が減ります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加