2010-04-19 2 views
3

Je suis assez nouveau sur CakePHP mais je pense que je commence à comprendre. J'essaie de récursivement rayer les informations relatives à la table, mais je souhaite spécifier les modèles connexes à recréer. Permettez-moi de vous donner un exemple pour démontrer mon objectif:CakePHP - récursif sur des champs spécifiques dans le modèle?

J'ai un modèle "Client", qui contient des informations comme le nom de l'entreprise, le site web, etc. "Client" a Nombreuses "Adresses", qui contiennent des informations pour des contacts individuels comme Contact Nom, rue, ville, état, pays, etc. "Client" appartient également à "CustomerType", qui a juste des informations descriptives sur la catégorie - un nom et une description, comme "Distributeur" ou "Fabricant". Lorsque je fais une recherche sur "Client", je souhaite obtenir les informations "CustomerType" et "Address" associées en tant que sous-tableaux, et cela fonctionne correctement en configurant correctement les associations hasMany et belongsTo. Mais maintenant, voici mon problème: je veux obtenir des informations d'état/pays associées. Donc, au lieu de chaque ligne de tableau "Adresse" ayant juste "state_id", je veux qu'elle ait "state" => array ("id" = 20, "name" = "New York", etc.) etc.

Si je mets $ récursif à une valeur plus élevée (par exemple, 2) dans le modèle Partenaire, j'obtiens ce que je veux pour les informations Etat/Pays dans chaque "Adresse". MAIS il est également récursif sur "CustomerType", ce qui entraîne la présence dans le champ "CustomerType" de mon objet "Partner" d'un grand nombre de tous les objets Customer correspondant à ce type, ce qui peut durer des milliers d'années.

Donc, le point est, je ne veux pas se recurse sur "CustomerType", seulement sur "Adresse". Y a-t-il un moyen de mettre cela en place?

Désolé pour la longue question, et merci d'avance!

Répondre

Questions connexes