> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plato.ae/llms.txt
> Use this file to discover all available pages before exploring further.

# العلاقات

> قراءة وكتابة وتوسيع حقول العلاقة CMS.

تقوم حقول العلاقة بتوصيل إدخال CMS بإدخال آخر، أو بسجلات Plato المدعومة مثل منتجات القائمة وفئات القائمة.

## اكتب قيم العلاقة

علاقة واحدة:

```json theme={null}
{
  "values": {
    "category": "entry_category_1"
  }
}
```

علاقة متعددة:

```json theme={null}
{
  "values": {
    "relatedProducts": ["entry_1", "entry_2"]
  }
}
```

يقوم Plato بالتحقق من صحة معرفات العلاقة قبل الحفظ.

إذا لم يكن المعرف موجودًا في مساحة عمل المفتاح API، فسيفشل الطلب:

```json theme={null}
{
  "message": "Invalid relation value for field 'category'."
}
```

## قراءة معرفات العلاقة

إذا قمت بتحديد حقل علاقة بدون حقول متداخلة، تقوم Plato بإرجاع المعرف أو المعرفات المخزنة.

```text theme={null}
?fields=id,name,category
```

إجابة:

```json theme={null}
{
  "id": "entry_123",
  "name": {
    "en": "Classic Burger"
  },
  "category": "entry_category_1"
}
```

## توسيع العلاقات

استخدم التحديد المتداخل لتوسيع إدخالات CMS ذات الصلة.

```text theme={null}
?fields=id,name,category(id,name)
```

إجابة:

```json theme={null}
{
  "id": "entry_123",
  "name": {
    "en": "Classic Burger"
  },
  "category": {
    "id": "entry_category_1",
    "name": {
      "en": "Burgers"
    }
  }
}
```

## عمق العلاقة

يتحكم `maxDepth` في مدى إمكانية توسيع العلاقات المتداخلة.

```text theme={null}
?fields=id,name,category(id,name,parent(id,name))&maxDepth=2
```

العمق الافتراضي هو `3`. أقصى عمق هو `6`.

حافظ على عمق منخفض للصفحات العامة.

## أهداف علاقات النظام المدعومة

يمكن أن تستهدف حقول العلاقة CMS أيضًا سجلات Plato المدعومة.

تتضمن أهداف علاقة النظام المدعومة حاليًا ما يلي:

* `MenuProduct`
* `MenuCategory`

عند توسيعها، تعود سجلات النظام:

```json theme={null}
{
  "id": "menu_product_id",
  "name": {
    "en": "Classic Burger"
  }
}
```
