小编min*_*eng的帖子

Rails - 连接多个表

我有以下型号:

class Company < ActiveRecord::Base
  has_many :price_movements
  has_many :goods_movements
end

class PriceMovement < ActiveRecord::Base
  belongs_to :company
end

class GoodsMovement < ActiveRecord::Base
   belongs_to :company
end
Run Code Online (Sandbox Code Playgroud)

我试图以activerecord的形式将所有内容组合成一个sql,但我不知道如何去做,因为我对ROR相对较新.

select * from companies c

inner join price_movements p
on c.id = p.company_id

inner join goods_movements g
on c.id = g.company_id
and g.date = p.date
Run Code Online (Sandbox Code Playgroud)

对我来说,关键问题是货物运动日期== price_movement日期的第二个环节.有人可以建议是否有办法吗?

activerecord ruby-on-rails ruby-on-rails-4

15
推荐指数
1
解决办法
5万
查看次数