> ## 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.

# Rapports

> Lisez, écrivez et développez les champs de relation CMS.

Les champs de relation connectent une entrée CMS à une autre entrée ou à des enregistrements Plato pris en charge tels que des produits de menu et des catégories de menu.

## Écrire des valeurs de relation

Relation unique :

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

Relation multiple :

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

Plato valide les identifiants de relation avant de les enregistrer.

Si un identifiant n'existe pas dans l'espace de travail de la clé API, la requête échoue :

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

## Lire les ID de relation

Si vous sélectionnez un champ de relation sans champs imbriqués, Plato renvoie le ou les identifiants stockés.

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

Réponse:

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

## Développer les relations

Utilisez la sélection imbriquée pour développer les entrées CMS associées.

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

Réponse:

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

## Profondeur de la relation

`maxDepth` contrôle jusqu'où les relations imbriquées peuvent s'étendre.

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

La profondeur par défaut est `3`. La profondeur maximale est `6`.

Gardez une faible profondeur pour les pages publiques.

## Cibles de relation système prises en charge

Les champs de relation CMS peuvent également cibler les enregistrements Plato pris en charge.

Les cibles de relations système actuellement prises en charge incluent :

* `MenuProduct`
* `MenuCategory`

Une fois développés, les enregistrements système renvoient :

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