2014-07-17 2 views
0

주문 모델, 판매자 모델 및 견적 모델이 있습니다. 주문에는 많은 인용 부호가 있고, 판매자에는 많은 인용 부호가 있으며, 견적은 주문과 판매자에 속합니다.ActiveRecord를 사용하여 이러한 관계를 모델링하는 방법은 무엇입니까?

이제 견적에 대한 지불을 캡처하는 지불 모델을 추가하고 싶습니다. 두 가지 옵션이 있습니다.

  1. 결제 방법은 quote_id이며 견적에 속합니다. 나는 ActiveRecord를 사용하여 판매자와 지불 사이의 관계를 정의하는 방법을 잘 모르고있다. 판매자가받은 모든 지불을 나열하려면 @seller.payments과 같은 것을 사용하고 싶습니다. @seller.quotes.joins(:payments) 일할 수도 있지만 추한 것입니다.

  2. 지불에는 seller_id 및 order_id가 있으므로 판매자에게는 많은 금액이 지급됩니다. 결제 금액은 일이 견적에 속하는 다른 모델이있을 수있다

(복합-기본 키 보석을 사용하여) 복합 키 [seller_id, ORDER_ID]을 사용하여 견적에 속하지만, 수 판매자와의 관계가 더 중요합니다 (예 : 평점). 이것은 꽤 일반적인 시나리오처럼 보입니다. 어떤 옵션이 더 좋고 또 다른 더 좋은 솔루션이 있는지 궁금합니다. 첫 번째 옵션을 사용하는 경우

답변

0

당신이 사용할 수있는 당신이 @seller.payments

+0

감사를 할 수

class Seller < ActiveRecord::Base has_many :quotes has_many :payments, through: :quotes end 

. 나는 이것이 잘 작동하는지 궁금해하고 있었다. 그러나 나는 문서에서 이와 같은 사용법을 보지 못했습니다. 따옴표 표는 판매자 및 결제에 대한 조인 표가 아닙니다 (seller_id는 있지만 payment_id는 없습니다). –

+0

@OnionBomb 아니, 작동하지 않지만 작동합니다. 나는 미친 물건으로 레일에 놀랄 것이다. –

+0

작동하지 않습니다. 그들은이 미친 물건을 문서에 넣어야합니다. –

관련 문제