İlişkiler nasıl çalışır
Her ilişki, birbirine referans veren iki alan gerektirir:- MANY_TO_ONE tarafı — yabancı anahtarı tutan nesne üzerinde bulunur.
- ONE_TO_MANY tarafı — koleksiyona sahip olan nesne üzerinde bulunur.
FieldType.RELATION kullanır ve relationTargetFieldMetadataUniversalIdentifier aracılığıyla birbirine karşılıklı referans verir.
Örnek: Posta Kartı’nın birçok Alıcısı vardır
BirPostCard birçok PostCardRecipient kaydına gönderilebilir. Her alıcı tam olarak bir posta kartına aittir.
Adım 1: PostCard üzerinde ONE_TO_MANY tarafını tanımlayın (“bir” taraf):
src/fields/post-card-recipients-on-post-card.field.ts
src/fields/post-card-on-post-card-recipient.field.ts
Döngüsel içe aktarmalar: Her iki ilişki alanı da birbirlerinin
universalIdentifier değerine referans verir. Döngüsel içe aktarma sorunlarından kaçınmak için, alan kimliklerinizi her dosyadan adlandırılmış sabitler olarak dışa aktarın ve diğerinde içe aktarın. Derleme sistemi bunları derleme zamanında çözer.Bağlantı ilişkileri
Bir bağlantı nesnesi, bir kaynak kaydını bir veya daha fazla hedef kayda bağlar. Örneğin,PostCardRecipient hem bir postCard ilişkisini hem de bir recipient ilişkisini tutabilir. Kaynak nesnenin ONE_TO_MANY alanında, junctionTargetFieldUniversalIdentifier değerini bağlantı nesnesinde hedefi işaret eden ilişki alanına ayarlayın:
RECIPIENT_FIELD_ID, bağlantı nesnesindeki bir MANY_TO_ONE veya morph ilişkisini tanımlamalıdır. zaman çizelgesi etkinliği yayılımı gibi bir özellik bağlantı nesnesinden geçtiğinde, Twenty’ye hangi ilişkili kaydın hedef olduğunu bildirir.
Standart nesnelerle ilişkilendirme
Yerleşik bir Twenty nesnesiyle (Person, Company, vb.) ilişki oluşturmak içinSTANDARD_OBJECT_UNIVERSAL_IDENTIFIERS kullanın:
src/fields/person-on-self-hosting-user.field.ts
İlişki alanı özellikleri
Satır içi ilişki alanları
Bir ilişkiyi doğrudandefineObject içinde de tanımlayabilirsiniz. Satır içi olduğunda, objectUniversalIdentifier’ı atlayın — üst nesneden devralınır: