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() :

ProfondeurDescription
-1Cake récupèrera seulement les données de Groupe, aucune jointure.
0Cake récupèrera les données de Groupe ainsi que son domaine
1Cake récupèrera un Groupe, son domaine et les Utilisateurs associés
2Cake 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