如何加入多个has_many关系表

时间:2017-04-24 12:05:58

标签: ruby-on-rails postgresql

我的Company模型has_many balancesprices

class Company < ActiveRecord::Base
  has_many :balances, dependent: :destroy
  has_many :prices, dependent: :destroy
end

BalancePrice都有dateamount列。

我想获得最近的10项balancesprices的相同日期。 这是我写的代码:

c = Company.first
balances = c.balances.order(:date).last(10)
prices = Balance.where(date: balances.map(&:date))

我认为最好先加入blancesprices表,然后从company_iddate中选择表格。 但我无法弄清楚如何写它。

我怎么写呢?

修改

我想在Rails方式中使用这样的函数。

ActiveRecord::Base.connection.execute('SELECT "balances".*, prices.name FROM "balances" LEFT JOIN "prices" ON "balances"."date" = "prices"."date" where balances.company_id = 1 AND prices.company_id = 1 ORDER BY balances.date ASC').values.last(10)

0 个答案:

没有答案