我在实现以下用例时遇到问题:
Foo通过名为myBar的关系与Bar有一对一的关系。然而,多个Foo可以具有相同的Bar。
我来自一个web应用程序背景,在那里我会给Foo一个bar_id,并使用这个bar_id查询所有Bar的myBar关系方法。我知道核心数据不是ORM,但我希望类似的事情可能发生。
我遇到的问题是,将相同的Bar Foo**s实例设置为多个会导致以前的关系恢复到** nil**.**
难道我别无选择,只能建立多到多的关系吗?我真的很想调用myBar方法,让它返回Bar实例,而不是一组只会是1 Bar的东西。
我正在RubyMotion中实现这个项目,并在下面包含了我的问题的一个例子。目标-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.发布于 2013-12-17 16:21:32
发现了问题:
Foo→Bar关系被正确地设置为-1,但是,逆(Bar→Foo)并没有被设置为-多。
https://stackoverflow.com/questions/20636913
复制相似问题