레일스 4와 데이터베이스 연결을 배우려고합니다.관련된 테이블 필드가 조건을 충족하는 경우 테이블 열 합계
내 응용 프로그램에는 판매 및 제품이라는 두 가지 모델이 있습니다. 이 성공적으로 product_group_id은 "30"입니다 반환
@s = Sale.find_by_product_id("10RB1236").product.product_group_id
Sale Load (1.5ms) SELECT "sales".* FROM "sales" WHERE "sales"."product_id" = '10RB1236' LIMIT 1
Product Load (0.8ms) SELECT "products".* FROM "products" WHERE "products"."product_id" = $1 ORDER BY "products"."product_id" ASC LIMIT 1 [["product_id", "10RB1236"]]
=> "30"
:
class Sale < ActiveRecord::Base
belongs_to :customer
belongs_to :product
end
class Product < ActiveRecord::Base
self.primary_key = :product_id
has_many :sales
end
나는 성공적으로 할 수있는 has_many와 belongs_to와 레일 콘솔에서 연결을 설정했습니다. 나의 학습 협회를위한 이정표 :) 그걸로 행복해.
하지만 product_id와 연결된 product_group_id가 30 인 net_amount의 합계를 반환 할 수있게하려면이 조건을 충족하는 데이터베이스의 모든 행에 대해 총 net_amount를 얻으십시오.
나는 시도했다 :
@c = Sale.sum(:net_amount, :conditions => {:product_id.product_group_id => "30"})
@c = Sale.sum(:net_amount, :conditions => {:product_id.product.product_group_id => "30"})
그냥 좀 더 아이디어 나이 작업을 수행하는 방법에 대한 해결책을 얻을려고? 순수한 SQL에서이 작업을 수행했다면 어딘가에서 내부 결합이 일어날 것이라고 생각합니다.
모든 아이디어는 크게 감사하겠습니다. 누군가가이 붙어 대한
http://stackoverflow.com/questions/12702506/how-to-use-inner-join-in-ruby-on-rails 이 질문에 큰 도움이되었다 미래. –