키워드가 3 개인 서비스 모델이 있습니다. 그리고 저는 고객에게 제공되는 서비스의 수를 세는 판매 모델을 가지고 있습니다. 통계 보고서를 작성하려고하는데 서비스로 판매되는 서비스의 수를 얻는 가장 좋은 방법은 무엇인지 물어보고 싶습니다.문자열 일치로 레코드 수를 얻는 방법
예를 들어 서비스 A는 10 번, 서비스 B는 20 번 등으로 판매됩니다.이 값을 프로그래밍 방식으로 쉽게 얻으려면 어떻게해야합니까?
개별적으로 이동하여 각 서비스 인스턴스에 대한 판매 모델을 검색하고 싶지 않습니다.
가장 좋은 방법은 무엇입니까?
class Sale < ApplicationRecord
has_many :sale_services
has_many :services, :through => :sale_services
end
class Service < ApplicationRecord
has_many :sale_services
has_many :sales, through: :sale_services
end
class SaleService < ApplicationRecord
belongs_to :sale, optional: true
belongs_to :service, optional: true
end
각 서비스에는 가격이 있으며 각 판매에는 해당 판매에서 판매 된 서비스 수에 따라 total_price 속성이 있습니다.
당신은 서비스와 판매 사이의 관계를 나눌 수 있습니까, 나는 그 서비스 has_many 판매가 맞습니까? 그러나 두 모델 간의 관계를 공유 할 수 있다면 좋을 것입니다. –
서비스와 판매 사이에 has_many 연결이있는 경우 다음을 시도하십시오. Service.includes (: sales) .select ("services.name, count (sales.id) as sold_count") – power
예 죄송합니다. 전에 관계! 그 many_to_many 관계! –