У меня есть 3 класса - Mix, MixClip и Clip.
class Mix
include DataMapper::Resource
property :id, Serial
# <removed other code for brevity>
has n, :mix_clips
has n, :clips, :through => :mix_clips
end
class MixClip
include DataMapper::Resource
property :id, Serial
property :order, Integer
belongs_to :mix
belongs_to :clip
end
class Clip
include DataMapper::Resource
property :id, Serial
property :title, String
property :description, Text
has n, :mix_clips
has n, :mixes, :through => :mix_clips
end
MixClip присоединяется к таблицам Mix / Clip и включает дополнительное свойство для описания клипа (порядка). Я хотел бы знать, если это? s возможно иметь объект клипа и иметь возможность ссылаться на текущий клип в контексте, в который он был загружен.
Допустим, я загружаю Mix и Clip следующим образом:
mix = Mix.first
clip = mix.clips.first
Есть ли способ получить MixClip что связано с этим конкретным клипом?
clip.mix_clip.order
Он был загружен через соединение между таблицами, поэтому я думаю, что есть способ сделать это.
Я знаю, что могу просто получить весь микс-> микс-> клипы-> и развернуть, но мне было интересно, смогу ли я вернуться на уровни назад ... это было бы проще.
Для тех, кому интересно, я пытаюсь использовать это, потому что dm-serializer не имеет полной поддержки вложенных ассоциаций при возврате json / xml, и я хотел бы просто определить метод, который возвращает данные.
Спасибо.