3.7.8.6 recursive
La propriété recursive définit la profondeur jusqu'à laquelle CakePHP doit récupérer les données des modèles associés, à l'intérieur des méthodes find() et findAll().
Imaginons que votre application représente des Groupes dans un domaine qui ont plusieurs Utilisateurs qui à leur tour ont plusieurs Articles. Vous pouvez attribuer à $recursive des valeurs différentes en fonction de la quantité de données que vous souhaitez récupérer en appelant $this->Groupe->find() :
| Profondeur | Description |
|---|---|
| -1 | Cake récupèrera seulement les données de Groupe, aucune jointure. |
| 0 | Cake récupèrera les données de Groupe ainsi que son domaine |
| 1 | Cake récupèrera un Groupe, son domaine et les Utilisateurs associés |
| 2 | Cake récupèrera un Groupe, son domaine, les Utilisateurs associés, et les Articles associés aux Utilisateurs |
En fixant une valeur supérieure à ce dont vous avez besoin, CakePHP récupérera des données que vous n’utiliserez jamais ce qui ralentira inutilement votre application.
Si vous voulez combiner $recursive avec la fonctionnalité fields, vous devrez ajouter manuellement les colonnes contenant les clés étrangères nécessaires dans le tableau fields. Dans l'exemple ci-dessus, cela pourrait être l'ajout de domaine_id
