我有一張表格,顯示了每位客戶的所有客戶和所有工作。爲了加快頁面加載速度,我必須急切地加載相關的作業,如下所示。Rails:急於加載外連接的關聯記錄
但是,有兩個問題這種方法:
Customers
沒有工作沒有得到,甚至裝,雖然沒有joins()
方法我不得不使用慢Ruby通過
jobs.id
爲每位客戶排序工作。
有沒有解決方法?
# http://guides.rubyonrails.org/active_record_querying.html#specifying-conditions-on-eager-loaded-associations
@customers = Customer.all.includes(:jobs).where(jobs: {booking_status: [2,3]}).order('users.id ASC').references(:jobs)
@customers.each do |customer|
puts customer.full_name
jobs = customer.jobs.sort_by {|job| job.id}
jobs.each do |job|
puts job.id
你沒有得到非 - 由於您的where條款而打的客戶。你說的是你只想要具有特定booking_status的客戶。嘗試用下面的東西替換你的where子句:'where(「jobs.booking_status =?OR count(jobs)=?」,[2,3],0)' – Nathan