关系如何工作
每个关系都需要两个相互引用的字段:- MANY_TO_ONE 侧——位于持有外键的对象上。
- ONE_TO_MANY 侧——位于拥有集合的对象上。
FieldType.RELATION,并通过 relationTargetFieldMetadataUniversalIdentifier 相互交叉引用。
示例:Post Card 拥有多个收件人
一个PostCard 可以发送给多个 PostCardRecipient 记录。 每个收件人只隶属于一张 PostCard。
步骤 1:在 PostCard 上定义 ONE_TO_MANY 侧(“一”侧):
src/fields/post-card-recipients-on-post-card.field.ts
src/fields/post-card-on-post-card-recipient.field.ts
**循环导入:**两个关系字段相互引用对方的
universalIdentifier。 为避免循环导入问题,请在各自文件中将字段 ID 作为具名常量导出,并在另一个文件中导入它们。 构建系统会在编译时解析这些引用。与标准对象建立关系
要与内置的 Twenty 对象(Person、Company 等)建立关系,请使用STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS:
src/fields/person-on-self-hosting-user.field.ts
关系字段属性
内联关系字段
你也可以直接在defineObject 中声明关系。 以内联方式声明时,省略 objectUniversalIdentifier——它会从父对象继承: