Ich habe ein Benutzermodell und ein viewed_contractor Modell. Ich behandle Benutzermodell als Kunde und Auftragnehmer. Der Kunde kann viele Auftragnehmer durch den Besuch ihres jeweiligen Profils zu sehen. Contractor kann von vielen Kunden angesehen werden. Ich habe customer_id und contractor_id in meinem viewed_contractor. Ich möchte mit dieser Beziehung wie has_many umgehen. Ist es möglich, gründlich durch viele?Schienen hat viele durch mit demselben Modell
1
A
Antwort
1
Es ist möglich. Zuerst müssen Sie die class_name
Option für die belongs_to
Assoziationen in Ihrem ViewedContractor
Modell angeben, so dass sie sich beide auf Ihre User
Klasse beziehen. Dann könnten Sie die has_many through:
Relationen in Ihrem User
Modell angeben.
So etwas sollte funktionieren:
# viewed_contractor.rb
class ViewedContractor < ActiveRecord::Base
belongs_to :contractor, class_name: 'User', foreign_key: :contractor_id
belongs_to :customer, class_name: 'User', foreign_key: :customer_id
end
# user.rb
class User < ActiveRecord::Base
has_many :viewed_contractors_as_contractor, class_name: 'ViewedContractor', foreign_key: :contractor_id
has_many :viewed_contractors_as_customer, class_name: 'ViewedContractor', foreign_key: :customer_id
has_many :visited_contractors, through: :viewed_contractors_as_customer, source: :contractor
has_many :visited_customers, through: :viewed_contractors_as_contractor, source: :customer
end
Verwandte Themen
- 1. Rubin auf Schienen. hat viele durch Assoziation
- 2. Laravel 5.3 Viele zu viele Beziehung mit demselben Modell
- 3. Schienen HABTM viele durch
- 4. Schienen, ein Modell, viele Bildschirme
- 5. Laravel - hat viele Durch
- 6. Schienen ein Modell - viele Steuerungen
- 7. SCHIENEN 3.2 - Verschachtelte Ressourcen hat viele: durch Beziehung
- 8. Sortierung in hat viele durch
- 9. Schienen, Hat viele durch Beziehung innerhalb Verkäufer und Käufer
- 10. Django Viele-zu-viele (m2m) Beziehung zu demselben Modell
- 11. Laravel Polymorphe Beziehungen hat viele Durch
- 12. Hat viele durch nicht bestehen
- 13. cakephp - hat viele durch nicht
- 14. Schienen viele zu vielen Modell mit in der Ansicht wählen
- 15. Schienen 4: Zielobjekte durch ein Modell
- 16. verbindet Abfrage mit Viele-zu-Viele-Schienen
- 17. ActiveRecord hat viele durch beide mit polymorphen sein
- 18. Viele-zu-viele auf demselben Tisch
- 19. cakephp - eine andere hat viele durch Beziehung
- 20. Schienen validieren abhängiges Modell
- 21. RSpec Tests mit Anhänger/Freundschaften hat viele durch Benutzer
- 22. mehrere has_many durch mit dem gleichen Modell Schienen
- 23. Schienen (ActiveRecord) viele zu viele Tabelle
- 24. before_create in Schienen Modell
- 25. Django rekursive Abfrage auf nicht-symmetrische Viele-zu-Viele zu demselben Modell
- 26. Bessere Möglichkeit, den Benutzer, der zuletzt ein Modell aktualisiert hat, wenn das Modell viele Kinder hat
- 27. Viele zu viele Beziehungen mit Ember, Glut-Daten und Schienen
- 28. Kann hinzufügen oder löschen, das nicht der Fall viele durch Assoziationsmodell hat in Schienen 3.2
- 29. Übersetzendes Modell mit Globalize2 (Schienen)
- 30. Redbean, mehrere Viele-zu-Viele mit demselben Objekt
Super :) Danke! –