Skip to main content
İlişkiler iki nesneyi birbirine bağlar. Twenty’de ilişkiler her zaman çift yönlüdür — her ilişkinin iki tarafı vardır ve her taraf diğeriyle ilişkili alan olarak tanımlanır.

İlişkiler nasıl çalışır

Her ilişki, birbirine referans veren iki alan gerektirir:
  1. MANY_TO_ONE tarafı — yabancı anahtarı tutan nesne üzerinde bulunur.
  2. ONE_TO_MANY tarafı — koleksiyona sahip olan nesne üzerinde bulunur.
Her iki alan da 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

Bir PostCard 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
Adım 2: PostCardRecipient üzerinde MANY_TO_ONE tarafını tanımlayın (“çok” taraf — yabancı anahtarı tutar):
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.

Standart nesnelerle ilişkilendirme

Yerleşik bir Twenty nesnesiyle (Person, Company, vb.) ilişki oluşturmak için STANDARD_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ğrudan defineObject içinde de tanımlayabilirsiniz. Satır içi olduğunda, objectUniversalIdentifier’ı atlayın — üst nesneden devralınır: