Ich habe ein Author
Modell, das hattm: Feeds. Mit Rails 3 möchten Sie einen Bereich einrichten, in dem alle Autoren gefunden werden, denen keine Feeds zugeordnet sind.Wie wird der Rails 3-Bereich verwendet, um nach einer Tabelle zu filtern, in der die zugehörigen Datensätze nicht existieren?
class Author < ActiveRecord::Base
has_and_belongs_to_many :feeds
scope :without_feed, joins(:feeds).where("authors_feeds.feed_id is null")
end
... scheint nicht zu funktionieren. Es fühlt sich an wie eine einfache Sache. Was fehlt mir hier?
Es fühlt sich an wie die Joins (: feeds) einen inneren Join durchführt, der nur einen Autor auswählt, wenn sie Feeds haben? – Midwire
Es ist in der Tat eine innere Join: 'SELECT Autoren. * FROM Autoren INNER JOIN Autoren_Feeds ON Autoren_Feeds.Autor_ID = Autoren.ID INNER JOIN Feeds ON feeds.id = authors_feeds.feed_id WHERE (authors_feeds.feed_id ist null)' und was ich want ist eine äußere Verbindung. Irgendeine Hilfe? – Midwire