У меня есть следующие модели Merchant, Offer и GiftCards. Я хочу получить все связанные предложения и подарочные карты с определенными условиями.
Связь между ними:
merchant.rb
has_many :offers
has_many :gift_cards
gift_card.rb:
belongs_to :merchant
offer. , Я хочу получить количество подходящих_предложений / elift_gift_cards продавца.
Я могу сделать что-то похожее на следующий код, чтобы получить счетчик.
merchant.offer_ids & eligible_offer_ids
Но есть ли способ изменить запрос, чтобы получить elitable_offers вместо всех предложений в продавце.
Нечто похожее на запрос ниже.
Merchant.pluck(
:id, Arel.sql('COUNT(eligible_offer_ids.id)'), Arel.sql('MAX(eligible_offer_ids.id)'),
Arel.sql('COUNT(eligible_gift_card_ids.id)'),
Arel.sql('MAX(gift_eligible_gift_card_id.id)')
)