私は次のモデルを持っています:
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
私はすべてを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
私にとって重要な問題は、goods_movement date == price_movement dateの2番目のリンクです。誰かがそれを行う方法があるかどうかについてアドバイスできますか?
Company.joins(:price_movements,:goods_movements).where("goods_movement.date = price_movement.date")
このリンク を通過します。ActiveRecord
の使用方法の詳細な説明があります。