ef49dad0bc
Created by Github action Co-authored-by: github-actions <github-actions@twenty.com>
176 lines
9.4 KiB
Plaintext
176 lines
9.4 KiB
Plaintext
---
|
|
title: إنشاء علاقات متعدد-إلى-متعدد
|
|
description: اربط السجلات حيث يمكن ربط عناصر كثيرة على كلا الجانبين معًا باستخدام كائنات الربط.
|
|
---
|
|
|
|
تتيح علاقات متعدد-إلى-متعدد ربط سجلات متعددة على كلا الجانبين. على سبيل المثال: يمكن للعديد من الأشخاص العمل على العديد من المشاريع، ويمكن لكل مشروع أن يضم العديد من الأشخاص.
|
|
|
|
<Warning>
|
|
**ميزة المختبر**: علاقات الربط متاحة حاليًا في المختبر. فعِّلها في **الإعدادات → التحديثات → المختبر** قبل اتباع هذا الدليل.
|
|
</Warning>
|
|
|
|
<Note>
|
|
تتطلب هذه الميزة أيضًا تفعيل **الوضع المتقدم** (زر التبديل في أسفل يمين صفحة الإعدادات).
|
|
</Note>
|
|
|
|
## متى نستخدم علاقات متعدد-إلى-متعدد
|
|
|
|
استخدم علاقات متعدد-إلى-متعدد عندما يمكن لكل جانب من العلاقة أن يحتوي على عدة ارتباطات:
|
|
|
|
| العلاقة | مثال |
|
|
| ------------------ | --------------------------------------------------------------------- |
|
|
| الأشخاص ↔ المشاريع | قد يعمل الشخص على عدة مشاريع؛ ويضم المشروع عدة أعضاء فريق |
|
|
| الشركات ↔ الوسوم | يمكن أن تحتوي الشركة على عدة وسوم؛ ويمكن أن ينطبق الوسم على عدة شركات |
|
|
| المنتجات ↔ الطلبات | يمكن أن يوجد المنتج في عدة طلبات؛ ويحتوي الطلب على عدة منتجات |
|
|
|
|
## كيف يعمل
|
|
|
|
تستخدم Twenty نمط **كائن الربط** لعلاقات متعدد-إلى-متعدد. يوضع كائن الربط بين كائنين ويحتفظ بالارتباطات:
|
|
|
|
```
|
|
People ←→ Project Assignments ←→ Projects
|
|
```
|
|
|
|
يحتوي كائن **تعيينات المشروع** (كائن ربط) على:
|
|
|
|
* علاقة مع الأشخاص (متعدد-إلى-واحد)
|
|
* علاقة مع المشاريع (متعدد-إلى-واحد)
|
|
|
|
عند تفعيل مفتاح علاقة الربط، تعرض Twenty السجلات المرتبطة مباشرةً بدلًا من إظهار سجلات كائن الربط الوسيطة.
|
|
|
|
## المتطلبات الأساسية
|
|
|
|
1. **تفعيل علاقات الربط في المختبر**: انتقل إلى **الإعدادات → التحديثات → المختبر** وفعِّل **علاقات الربط**
|
|
2. **فعِّل الوضع المتقدم**: شغِّل **الوضع المتقدم** من أسفل يمين الشريط الجانبي لصفحة الإعدادات
|
|
3. خطِّط نموذج البيانات الخاص بك:
|
|
* ما الكائنان اللذان ستربطهما؟
|
|
* ما الاسم الذي ينبغي أن يُطلق على كائن الربط؟
|
|
|
|
## الخطوة 1: إنشاء كائن الربط
|
|
|
|
أولًا، أنشئ الكائن الوسيط الذي سيحتفظ بالارتباطات.
|
|
|
|
1. اذهب إلى **الإعدادات → نموذج البيانات**
|
|
2. انقر **+ كائن جديد**
|
|
3. سمِّه تسمية وصفية (مثلًا: "تعيين مشروع"، "عضو فريق"، "طلب منتج")
|
|
4. فعِّل خيار "تخطي إنشاء حقل الاسم"
|
|
|
|
<img src="/images/user-guide/fields/new-pivot-object.png" alt="كائن ربط جديد" />
|
|
|
|
5. انقر على **حفظ**
|
|
|
|
<Tip>
|
|
**اتفاقية التسمية**: استخدم اسمًا يصف العلاقة، مثل "تعيين مشروع" أو "عضوية الفريق". هذا يجعل نموذج البيانات أسهل في الفهم.
|
|
</Tip>
|
|
|
|
## الخطوة 2: إنشاء علاقات بين الكائنات وكائن الربط
|
|
|
|
أضف حقول العلاقة من كلٍ من الكائنين لديك إلى كائن الربط.
|
|
|
|
### العلاقة الأولى (الكائن A → كائن الربط)
|
|
|
|
1. حدِّد الكائن الأول لديك في **الإعدادات → نموذج البيانات**
|
|
2. انقر **+ إضافة علاقة**
|
|
3. اختر كائن الربط (مثلًا، "تعيينات المشروع")
|
|
4. عيِّن نوع العلاقة إلى **واحد-إلى-متعدد** (يمكن لشخص واحد الارتباط بالعديد من التعيينات)
|
|
5. قم بتسمية الحقول:
|
|
* الحقل على الأشخاص: مثلًا، "تعيينات المشروع"
|
|
* الحقل على كائن الربط: مثلًا، "شخص"
|
|
6. انقر على **حفظ**
|
|
|
|
### العلاقة الثانية (الكائن B → كائن الربط)
|
|
|
|
1. حدِّد الكائن الثاني لديك في **الإعدادات → نموذج البيانات**
|
|
2. انقر **+ إضافة علاقة**
|
|
3. اختر كائن الربط (مثلًا، "تعيينات المشروع")
|
|
4. عيِّن نوع العلاقة إلى **واحد-إلى-متعدد** (يمكن لمشروع واحد الارتباط بالعديد من التعيينات)
|
|
5. فعّل **"هذه علاقة بكائن ربط"**
|
|
|
|
<img src="/images/user-guide/fields/junction-relation-toggle.png" style={{width:'100%'}} />
|
|
|
|
6. قم بتسمية الحقول:
|
|
* الحقل على كائن الربط: مثلًا، "مشروع"
|
|
* الحقل على المشاريع: مثلًا، "أعضاء الفريق"
|
|
7. انقر على **حفظ**
|
|
|
|
## الخطوة 3: ضبط عرض علاقة الربط
|
|
|
|
قم الآن بضبط كائنات المصدر لعرض السجلات المرتبطة مباشرةً، مع تجاوز كائن الربط الوسيط.
|
|
|
|
1. اذهب إلى **الإعدادات → نموذج البيانات**
|
|
2. اختر الكائن الأول (مثلًا، "الأشخاص")
|
|
3. اعثر على حقل العلاقة الذي يشير إلى كائن الربط (مثلًا، "تعيينات المشروع")
|
|
4. انقر لتحرير الحقل
|
|
5. فعّل **"هذه علاقة بكائن ربط"**
|
|
6. حدِّد **العلاقة الهدف** (مثلًا، "مشروع" — الحقل على كائن الربط الذي يشير إلى الجانب الآخر)
|
|
7. انقر على **حفظ**
|
|
|
|
## النتيجة
|
|
|
|
بعد التكوين:
|
|
|
|
* في سجل **شخص**، يعرض حقل "تعيينات المشروع" **المشاريع** مباشرةً (وليس سجلات التعيين)
|
|
* في سجل **مشروع**، يعرض حقل "أعضاء الفريق" **الأشخاص** مباشرةً
|
|
|
|
لا يزال كائن الربط موجودًا ويخزّن الارتباطات، لكن واجهة المستخدم تقدّم عرضًا أوضح لعلاقات متعدد-إلى-متعدد.
|
|
|
|
## مثال: الأشخاص ↔ المشاريع
|
|
|
|
إليك شرحًا كاملًا خطوة بخطوة:
|
|
|
|
### إنشاء كائن الربط
|
|
|
|
* الاسم: **تعيين مشروع**
|
|
* الوصف: "يربط الأشخاص بالمشاريع التي يعملون عليها"
|
|
|
|
### إضافة علاقات
|
|
|
|
1. **الأشخاص → تعيين مشروع**
|
|
* النوع: واحد-إلى-متعدد
|
|
* الحقل على الأشخاص: "تعيينات المشروع"
|
|
* الحقل على التعيين: "شخص"
|
|
|
|
2. **المشاريع → تعيين مشروع**
|
|
* النوع: واحد-إلى-متعدد
|
|
* الحقل على المشاريع: "أعضاء الفريق"
|
|
* الحقل على التعيين: "مشروع"
|
|
|
|
### ضبط عرض علاقة الربط
|
|
|
|
1. على كائن **الأشخاص**:
|
|
* حرِّر حقل "تعيينات المشروع"
|
|
* فعّل مفتاح الربط
|
|
* الهدف: "مشروع"
|
|
|
|
2. على كائن **المشاريع**:
|
|
* حرِّر حقل "أعضاء الفريق"
|
|
* فعّل مفتاح الربط
|
|
* الهدف: "شخص"
|
|
|
|
### استخدمه
|
|
|
|
* افتح سجل شخص → سترى مشاريعه مباشرةً
|
|
* افتح سجل مشروع → سترى أعضاء الفريق مباشرةً
|
|
* أنشئ ارتباطات جديدة من أي جانب
|
|
|
|
## إضافة بيانات إضافية إلى الارتباطات
|
|
|
|
نظرًا لأن كائن الربط كائن حقيقي، يمكنك إضافة حقول مخصصة لتخزين معلومات حول العلاقة:
|
|
|
|
* **الدور**: "مطوّر"، "مصمّم"، "مدير"
|
|
* **تاريخ البدء**: متى انضمّوا إلى المشروع
|
|
* **الساعات المخصّصة**: عدد الساعات الأسبوعية على هذا المشروع
|
|
|
|
للوصول إلى هذه البيانات، انتقل إلى كائن الربط مباشرةً أو استعلم عنها عبر واجهة API.
|
|
|
|
## القيود
|
|
|
|
* **استيراد/تصدير CSV**: لا يُدعم استيراد علاقات متعدد-إلى-متعدد مباشرةً. بدلًا من ذلك، استورد السجلات إلى كائن الربط.
|
|
* **عوامل التصفية**: قد تكون خيارات التصفية حسب علاقات متعدد-إلى-متعدد محدودة.
|
|
|
|
## ذات صلة
|
|
|
|
* [حقول العلاقات](/l/ar/user-guide/data-model/capabilities/relation-fields) — شرح أنواع العلاقات
|
|
* [إنشاء كائنات مخصصة](/l/ar/user-guide/data-model/how-tos/create-custom-objects) — كيفية إنشاء الكائنات
|
|
* [إنشاء حقول العلاقات](/l/ar/user-guide/data-model/how-tos/create-relation-fields) — إعداد العلاقات الأساسي
|