سؤال

أنا أواجه مشكلة في ربط النماذج في DataMapper. انها حقا بسيطة، ولكن يمكنني فقط الحصول على هذه الفكرة.

لذلك، لدي 2 طاولات:

1. Books
-> id
-> title
-> publisher_id

2. Publishers
-> id
-> title

الاقسام:

class Book
  property :id, Serial
  property :title, String
  property :publisher_id, Integer
end

class Publisher
  property :id, Serial
  property :title, String
end

لذلك، السؤال هو: كيف يمكنني توصيل الناشر بالحجز؟ إنها علاقة من 1 إلى 1، والشيء كله من المفترض أن تبدو مثل هذا:

p = Book.get(12345).publisher

آسف، ربما يكون غبيا. لكنني لا أستطيع معرفة أي نوع من الإعلان الذي يجب أن أستخدمه.

لا يوجد حل صحيح

نصائح أخرى

هاها، أنا أحمق مجنون يجلس في 2 في الصباح. دائما ما يحدث لي، عندما أسأل Somethis - وجد فجأة إجابة على سؤالي بنفسي.

غير صحيح، هناك علاقة واحدة إلى كثير. لذلك، إنه بسيط مثل الشمس في السماء:

class Book
  property :id, Serial
  property :title, String
  property :publisher_id, Integer

  belongs_to :publisher
end

class Publisher
  property :id, Serial
  property :title, String

  has n, :books
end

هذا هو ذلك. قد يكون من المفيد لشخص ما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top