Wie kann ich auf eine Tabelle verweisen, wenn Sie nicht die Standard-Tabellen-ID als Primärschlüssel der Tabelle verwenden? Ich habe zwei Tabellen mit E-Mail als Primärschlüssel erstellt und möchte diese Tabellen-E-Mail als Fremdschlüssel in der anderen Tabelle haben. Bitte Wie kann ich das erreichen?Verweis auf eine Tabelle hinzufügen
0
A
Antwort
0
können Sie Tabelle wie folgt mit E-Mail als Primärschlüssel erstellen:
create_table :users, id: false do |t|
t.string :email, primary_key: true
t.string :name
t.timestamps
end
create_table :posts do |t|
t.string :title
t.text :body
t.string :user_email
t.timestamps
end
und definieren Sie Ihre Modelle wie folgt aus:
class User < ActiveRecord::Base
self.primary_key = 'email'
has_many :posts, foreign_key: :user_email
end
class Post < ActiveRecord::Base
belongs_to :user, foreign_key: :user_email
end
Das ist alles, was Sie tun müssen. Sie können auch ID als Primärschlüssel für User
Modell behalten, aber verwenden Sie email
als Fremdschlüssel - dies kann einfacher sein, Ihre Modelle zu behandeln.
Verwandte Themen
- 1. MVC Verweis auf Ansichten hinzufügen
- 2. CompilerParameters.ReferencedAssemblies - Verweis auf System.Web.UI.WebControls hinzufügen
- 3. Verweis hinzufügen auf .dll asp.net
- 4. Suchen Sie einen Verweis auf eine Tabelle in DTS-Paketen
- 5. Verweis auf eine andere Tabelle in T-SQL funktioniert nicht
- 6. Wie kann ich einen Verweis auf eine Liste hinzufügen?
- 7. Dienst hinzufügen Verweis auf Amazon Dienst nicht
- 8. VSCode C# hinzufügen Verweis auf benutzerdefinierten Assembly
- 9. Warnung beim Hinzufügen von Verweis auf EvalWrapper.dll
- 10. hinzufügen Klassenbibliothek Verweis auf ASP.NET Kernprojekt
- 11. Verweis auf natives visuelles C++ Projekt hinzufügen
- 12. Outlook hinzufügen Verweis aus Datei
- 13. Legen Sie den Spaltencode als Fremdschlüssel in der Tabelle mit einem Verweis auf eine andere Tabelle
- 14. Rails - Verweis auf andere Mitglieder der gleichen Tabelle
- 15. Verweis auf AudioVideoPlayback Namensraum
- 16. Verweis auf äußere Tabelle in einer Aggregatfunktion in einer Unterabfrage
- 17. undefined Verweis auf die ‚V-Tabelle für die Klasse‘ Konstruktor
- 18. undefined Verweis auf eine statische Funktion
- 19. Verweis auf eine Zelle mit Wiederverwendungskennung
- 20. Rückgabe eines const Verweis auf eine Zeichenfolge
- 21. Speichern Sie einen Verweis auf eine Zeichenfolge
- 22. Sortierliste Verweis auf eine andere in Reihenfolge
- 23. Verweis auf eine benutzerdefinierte Feld-ID
- 24. Scala: Rückkehr Verweis auf eine Funktion
- 25. Verweis auf eine in TFS gespeicherte Bibliotheksdatei
- 26. Verweis auf eine Formel mit Eingabefeld Methode
- 27. SUMMENPRODUKT Verweis auf eine andere Registerkarte
- 28. Passing durch Verweis auf eine Vorlage Funktion
- 29. iphone - ein Verweis auf eine Zelle
- 30. Verweis auf eine private Klasse in JUnit
ok @ i.lavrov. Danke für die Antwort –