如何使用核心数据创建递归的一对多关系?
我之前使用过核心数据,但是我必须构建的这个数据库有一个特殊性,需要一种特殊的关系来融化我的大脑。
我有2个实体,我们称之为Cage和Animal。
- Cage有一个属性
name
- Animal具有
name
和image
属性,必须跟踪其子项。
可能的结构可能是这样的
cage ---------- animal 1 | |_____ animal 2 | |_____ animal 3 ____ animal 4 | |__ animal 5 | |_____ animal 6
看看这个结构你会看到Animal 1
, Animal 2
和Animal 3
有Cage
作为父母,或者你是Cage的“儿童”对象。 另一方面, Animal 3
有2个子对象(4和5), Animal 5
有一个子对象。
我需要Cage
和Animal
成为不同的实体。
因此,您会看到Animal
对象可以将其他动物作为子对象。 动物可以有一个父母但有多个孩子。 Cage对象只能有子对象。
我试图添加一个children
关系,其目的地等于动物,反向等于children
(toMany),但这正在融化我的大脑,因为如果我这样做,这将是父母一次和孩子在其他人,而不是提到孩子的名字会使编码难以包围…
我如何建立实体之间的关系以使其工作?
首先创建您的实体和属性。 然后创建你的关系。 “动物”和“儿童”的关系呼喊被设定为“对许多人”。 将“cage”和“parent”设置为“to one”关系。 最后,为每个关系设置目标和反向。
关系“动物”和“笼子”应该是相反的。 关系“父”和“子”应设置为反向。
当你完成时应该看起来像这样:
动物生活在笼子里,两只动物可以有关系。