предположим, что у вас есть эти модельные отношения:
Предложение категории HABTM
Как бы вы построили условия поиска, чтобы найти все категории, в которых есть хотя бы одно предложение? В то же время Предложение должно быть Offer.enabled => 1. Итак, найдите все категории с хотя бы одним включенным предложением. Условий для проверки в модели предложения несколько, но как только я смогу проверить включено, я думаю, что смогу проверить любое другое поле.
Я мог бы привязать модель habtm к категории, но в этом случае я не могу проверить условие Offer.enabled. Может быть, как-то с помощью containerable? SQL-запрос будет таким:
SELECT DISTINCT Category.nome from categories as Category
LEFT JOIN categories_offers AS CategoriesOffer
ON (CategoriesOffer.category_id = Category.id)
LEFT JOIN offers as Offer ON (CategoriesOffer.offer_id = Offer.id)
WHERE Offer.enabled = 1
Спасибо