Я имею вопрос реализации следующего случая использования:касающихся одного объекта нескольких других
Foo
имеет отношение к одному к Bar
, через отношения с именем myBar
. Однако более одного Foo
могут иметь одинаковые Bar
.
гряду из фона веб-приложений, где я хотел бы дать Foo
bar_id
, и есть метод запроса myBar
отношения для всех Bar
с с этой bar_id
. Я знаю, что Core Data не является ORM, но я надеялся, что что-то подобное возможно.
Проблема я испытываю, что установка такой же Bar
экземпляра до нескольких Foo
с вызывает предыдущие отношения, чтобы вернуться к nil
.
У меня нет другого выбора, кроме как реализовать отношения «многие ко многим»? Я действительно хотел просто вызвать метод myBar
и вернуть ему экземпляр Bar
, а не набор того, что будет когда-либо только 1 Bar
.
Я реализую этот проект в RubyMotion и включаю пример моей проблемы ниже. У разработчиков Objective-C не должно быть проблем, но этот вопрос более важен, чем конкретный код, который я написал.
# assume `b` is some instance of Bar
f1 = Foo.alloc.init
f1.bar = b
# calling f1.bar getter now returns the `b` instance of Bar
f2 = Foo.alloc.init
f2.bar = b
# f2.bar getter returns the Bar instance, but *f1.bar does not* - it is now nil.