クエリに条件を適用する簡単な方法をいくつか使用して、ノート数を追加するためのより効率的な方法を見つけようとしています。ただし、反復するレコードは20Kにもなるため、これには永遠に時間がかかる可能性があります。これについての考えを歓迎します。
def reblog_array(notes)
data = []
notes.select('note_type, count(*) as count').where(:note_type => 'reblog', :created_at => Date.today.years_ago(1)..Date.today).group('DATE(created_at)').each do |n|
data << n.count
end
return data
end
これは私のコントローラーからreblog_array(notes)に渡されるものです。
@tumblr = Tumblr.find(params[:id])
@notes = Note.where("tumblr_id = '#{@tumblr.id}'")