我怎么能写这个语句,使它保持作为一个ActiveRecord调用



我想做一个查询,我相信,是一个双连接调用。

@customer.jobs.joins(:assignments).where('assignments.employee_id' => current_user.id).collect{|j|j.payments}.flatten

我正在寻找付款,只有当他们已经在我的客户记录下分配给我的current_user。

付款通过连接表(payment_applications)连接到客户。员工通过连接表(assignments)分配给job。

上面的查询返回正确的对象,但它是一个数组,所以我不能将它们分配给分页。我如何保持查询ActiveRecord调用?

如果您想以Payments结束,我建议您从那里开始查询:

@payments = Payment.for_customer(customer)

在你的模型中:

class Payment < ActiveRecord::Base
  def self.for_user(user)
    joins(:assignments).where('assignments.employee_id' => user.id)
  end
end

如果要加入客户记录,请更改为

joins(:assignments => :customers)

相关内容

最新更新