Category.joins(products: :city).for_city(@city).distinct
Category.joins(:products).merge(@city.products).distinct ?
ну тож можно, я правда не уверен что так мерж можно написать
Я бы от категорий плясал. Что-то типа: Categories.joins(:products_category).where(product_categories: { product_id: @city.product_ids }) Но это если только выборка product_ids не огромная. И там возможно где-то distinct на категории понадобится. А может и нет…
Обсуждают сегодня