Files
twenty/packages/twenty-docs/l/ar/user-guide/data-model/how-tos/create-many-to-many-relations.mdx
T
github-actions[bot] ef49dad0bc i18n - docs translations (#20093)
Created by Github action

Co-authored-by: github-actions <github-actions@twenty.com>
2026-04-27 18:51:56 +02:00

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) — إعداد العلاقات الأساسي