Sto provando a fare qualcosa che ho pensato sarebbe stato semplice ma sembra non esserlo.Trova tutti i record che hanno un conteggio di un'associazione maggiore di zero
Ho un modello di progetto che ha molti posti vacanti.
class Project < ActiveRecord::Base
has_many :vacancies, :dependent => :destroy
end
Voglio ottenere tutti i progetti che hanno almeno 1 posto vacante. Ho provato qualcosa di simile:
Project.joins(:vacancies).where('count(vacancies) > 0')
ma si dice
SQLite3::SQLException: no such column: vacancies: SELECT "projects".* FROM "projects" INNER JOIN "vacancies" ON "vacancies"."project_id" = "projects"."id" WHERE ("projects"."deleted_at" IS NULL) AND (count(vacancies) > 0)
.
Tuttavia, senza applicare una clausola group by restituire più oggetti Project per progetti che hanno più di un posto vacante. – mackshkatz