Ich habe Car
(Tabelle cars
) Methode, die has_many
Besitzer (Tabelle owners
). Wie kann ich alle Autos auswählen, die keine Besitzer haben (== in der Tabelle owners
ist keine Zeile mit der jeweiligen Fahrzeug ID)?Schienen 3 + ActiveRecord - wählen Sie mit Bedingung für die Zuordnung
0
A
Antwort
3
Ich würde es tun, wie pro unten im Modell ....
@cars_without_owners = Car.where("owner_id = ?", nil)
oder sicher zu sein ....
@cars_without_owners = Car.where("owner_id = ? OR owner_id = ?", nil, "")
1
Sie diese nutzen könnte, obwohl es sehr sein würde langsam, wenn Ihre Tabellen viele Datensätze haben:
Car.where("not exists (select o.id from owners as o where o.car_id = cars.id)")
Verwandte Themen
- 1. Wählen Sie Felder für Includes in Schienen
- 2. activerecord durch Zuordnung
- 3. Schienen 3 Modellbeziehung mit has_and_belongs_to_many
- 4. Wählen Sie eindeutig von Bedingung
- 5. Schienen gruppierte_Collection_select mit 3 Modellen
- 6. Schienen 3: Rollback für after_create
- 7. Wählen Sie mit Multi-Bedingung in SQL
- 8. sqlite wählen Sie mit Bedingung am Datum
- 9. Schienen 3 Joins - Wählen Sie nur bestimmte Spalten
- 10. N + 1 Abfrage mit Schienen polymorphe Zuordnung
- 11. Rails 3 Autocomplete Edelstein mit Associates_to Zuordnung
- 12. Wählen Sie Zeilen, die eine bestimmte Gruppe Bedingung in psql
- 13. Verwenden von Build mit einer has_one-Zuordnung in Schienen
- 14. Schienen 3 - has_and_belongs_to_many
- 15. Schienen first_or_create ActiveRecord-Methode
- 16. Schienen 4 Konnte die Zuordnung has_many nicht finden, durch: Beziehungsfehler
- 17. ActiveRecord: Abfrage nicht mit korrekten Typ Bedingung für STI-Unterklasse
- 18. Wählen Sie Zeilen, die Minimalwert zwischen 2 Spalten Bedingung entsprechen
- 19. Benchmarking Schienen ActiveRecord Abfragen
- 20. PostgreSQL: Wählen Sie zufällige Datensätze, die einschränkende Bedingung (en) erfüllen
- 21. Schreiben von Treibern für ActiveRecord (Rails 3)
- 22. Bedingung zu wählen, die getConstructor Methode
- 23. Schienen ActiveRecord :: Observer in Plugin
- 24. Wählen Sie die 3. <td> mit jQuery?
- 25. Schienen has_many benutzerdefinierte ActiveRecord Association
- 26. So wählen Sie einzelne Spalte mit Ruby ActiveRecord Abfrage
- 27. ActiveRecord :: AssociationTypeMismatch in Controller (Schienen)
- 28. Wählen Sie Datensätze mit Crystal-Bericht mit Null-Bedingung
- 29. Wählen Linien durch Bedingung mit formatierter Ausgabe
- 30. Schienen - Löschen Sie alle Datensätze, die eine Bedingung erfüllen