4
この種のクエリを実行するためのRails 3の連鎖方法は何ですか?rails 3のクエリでcount()とgroup()を使用するか、単にsql?
@jobs_by_location =
Employer.find_by_sql ['SELECT count(j.id) AS job_count, e.* FROM employers e, jobs j' +
' WHERE e.parent_id = ? AND j.employer_id = e.id' +
' AND j.status = 2' +
' GROUP BY e.id' +
' ORDER BY e.state_id, e.city, e.name ASC', @employer.id]
私が思い付いた:
@jobs_by_location = Employer
.select('employers.*, count(jobs.id) as job_count').joins(:jobs)
.group('employers.id').order('employers.state_id,employers.city,employers.name ASC')
.where(:jobs => {:status => 2}).where(@employer.id)
私ももっとこれを引き締めることができますか? order()コールをクリーンアップできますか?count()をどこかで使用する必要がありますか?私は気にする必要がありますか?ありがとう。