Suchen Sie alle Datensätze, deren Anzahl einer Assoziation größer als Null ist

Ich versuche etwas zu tun, von dem ich dachte, es wäre einfach, aber es scheint nicht so zu sein.

Ich habe ein Projektmodell mit vielen offenen Stellen.

class Project < ActiveRecord::Base

  has_many :vacancies, :dependent => :destroy

end

Ich möchte alle Projekte erhalten, die mindestens 1 freie Stelle haben. Ich habe so etwas ausprobiert:

Project.joins(:vacancies).where('count(vacancies) > 0')

aber es heißt

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).

Antworten auf die Frage(8)

Ihre Antwort auf die Frage