Ich habe Probleme beim Zuordnen von Modellen in DataMapper. Es ist wirklich einfach, aber ich kann nur die Idee bekommen.DataMapper has_one Problem
Also, ich habe 2 Tabellen:
1. Books
-> id
-> title
-> publisher_id
2. Publishers
-> id
-> title
Die Klassen:
class Book
property :id, Serial
property :title, String
property :publisher_id, Integer
end
class Publisher
property :id, Serial
property :title, String
end
Also, die Frage ist: Wie kann ich Publisher Verbindung zu buchen? Es ist 1-zu-1-Beziehung, und das Ganze so aussehen soll:
vielleichtp = Book.get(12345).publisher
Leider ist es dumm. Aber ich kann nicht herausfinden, welche Art von Erklärung ich verwenden sollte.
Sowohl in ActiveRecord als auch in DataMapper wird die Tabelle mit dem Fremdschlüssel durch eine Klasse mit einer assignes_to-Zuordnung dargestellt. das entgegengesetzte Ende der Beziehung wird durch irgendeine Form einer "has" Assoziation dargestellt. In ActiveRecord kann dies entweder "has_one" oder "has_many" sein; in DataMapper "has (arity)", wobei arity eine beliebige Zahl (d. h. hat 1), einen Bereich (hat 2..4) oder unendlich (hat n) haben kann. –