С этими моделями :
class Week
has_many :proofs
end
class Proof
belongs_to :week
end
Я хочу сделать что-то вроде:
Week.where(:proof.count.gt => 0)
Чтобы найти только недели, у которых есть несколько доказательств.
Есть один ответ, который, кажется, решает эту проблему:
Можно ли фильтровать области видимости по количеству связанных классов для данного поля
Но в этом примере в Week нет такого атрибута, как proof_ids, поскольку идентификаторы хранятся с доказательствами. Это не работает, например:
Week.where(:proof_ids.gt => 0)
Как возможен этот запрос? Концептуально просто, но я не могу понять, как это сделать с помощью mongo или mongoid.
Точно так же я хотел бы упорядочить по количеству доказательств, например, например:
Week.desc(:proofs.size)
Но это тоже не работает.
Я понимаю, что контр-кеш - это вариант для обоих моих конкретных вопросов, но я также хотел бы иметь возможность выполнить запрос.
Заранее благодарим за любую помощь.