如何使用核心数据创建递归 one-to-many 关系?
How do I create a recursive one-to-many relationship using core data?
我以前用过核心数据,但是我要构建的这个数据库有一个特殊性,需要一种特殊的关系,这让我的大脑融化。
我有 2 个实体,我们称它们为笼子和动物。
- 笼子有一个属性
name
- 动物有
name
和 image
属性,必须跟踪它的 children。
一个可能的结构可以是这样的
cage ---------- animal 1
|
|_____ animal 2
|
|_____ animal 3 ____ animal 4
|
|__ animal 5
|
|_____ animal 6
查看此结构,您会看到 Animal 1
、Animal 2
和 Animal 3
具有 Cage
作为 parent 或 "children" objects of Cage 如果你愿意的话。另一方面,Animal 3
有 2 个 children object(4 和 5),Animal 5
有一个 children object.
我需要 Cage
和 Animal
是不同的实体。
因此,您看到 Animal
object 可以有其他动物 children。一个动物可以有一个 parent 但多个 children。一个 Cage object 只能有 children.
我试图添加一个 children
关系,目标等于 Animal,逆等于 children
(toMany) 但这就是让我的大脑融化的原因,因为如果我这样做,这有时会是 parent,有时会是 children,更不用说名字 children 会让编码变得难以理解...
我必须如何建立实体之间的关系才能完成这项工作?
首先创建您的实体和属性。然后建立你的关系。 "animals" 和 "children" 的关系应设置为 "to many"。将 "cage" 和 "parent" 设置为 "to one" 关系。最后,为每个关系设置目标和逆。
关系 "animals" 和 "cage" 应该是相反的。
关系 "parent" 和 "children" 应设置为相反。
完成后应该如下所示:
动物住在笼子里,两只动物可以发生关系。
我以前用过核心数据,但是我要构建的这个数据库有一个特殊性,需要一种特殊的关系,这让我的大脑融化。
我有 2 个实体,我们称它们为笼子和动物。
- 笼子有一个属性
name
- 动物有
name
和image
属性,必须跟踪它的 children。
一个可能的结构可以是这样的
cage ---------- animal 1
|
|_____ animal 2
|
|_____ animal 3 ____ animal 4
|
|__ animal 5
|
|_____ animal 6
查看此结构,您会看到 Animal 1
、Animal 2
和 Animal 3
具有 Cage
作为 parent 或 "children" objects of Cage 如果你愿意的话。另一方面,Animal 3
有 2 个 children object(4 和 5),Animal 5
有一个 children object.
我需要 Cage
和 Animal
是不同的实体。
因此,您看到 Animal
object 可以有其他动物 children。一个动物可以有一个 parent 但多个 children。一个 Cage object 只能有 children.
我试图添加一个 children
关系,目标等于 Animal,逆等于 children
(toMany) 但这就是让我的大脑融化的原因,因为如果我这样做,这有时会是 parent,有时会是 children,更不用说名字 children 会让编码变得难以理解...
我必须如何建立实体之间的关系才能完成这项工作?
首先创建您的实体和属性。然后建立你的关系。 "animals" 和 "children" 的关系应设置为 "to many"。将 "cage" 和 "parent" 设置为 "to one" 关系。最后,为每个关系设置目标和逆。
关系 "animals" 和 "cage" 应该是相反的。 关系 "parent" 和 "children" 应设置为相反。
完成后应该如下所示:
动物住在笼子里,两只动物可以发生关系。