0

私は2つのモデルを持っています:製品(名前、価格)と注文(user_id、product_id)

次に、このクエリを application_controller.rb の関数内で実行したい

SELECT * FROM orders INNER JOIN products ON orders.product_id = products.id

ActiveRecord と Rails の関連付けでのみこれを行うことは可能ですか? モデルには何を書けばいいですか?

4

2 に答える 2

3

モデルは次のようになります。

class Product < ActiveRecord::Base
  has_many :orders
end

class Order < ActiveRecord::Base
  belongs_to :product
  belongs_to :user
end

これで、次のことができます。

Order.joins(:product).all

しかし、あなたは何を達成しようとしていますか?この無意味な結合の理由は何ですか? データベースへの追加のクエリがないように製品をプリロードするだけの場合はincludes、結合の代わりに使用できます。

于 2013-10-25T11:16:00.357 に答える