-je utiliser CakePHP 1.2.6 et ont les relations suivantes:comportement maîtrisable ne retourne pas de profondeur 3 - CakePHP
Showcase HABTM utilisateur belongsTo Galleryitem hasOne image
J'essaie d'obtenir toutes les données relatives à un Showcase, et donc tous ses utilisateurs avec leur Galleryitem -> Image. J'utilise la requête suivante:
$showcase = $this->Showcase->find('first',
array('conditions'=>array('Showcase.id'=>$id),
'contain'=> array(
'User' => array(
'Galleryitem' => array(
'Image'
)
)
)
)
);
Cela ne les retours et tableau vide de Galleryitem
et donc pas du tout Image
records. Si je effectuez les opérations suivantes:
$showcase = $this->Showcase->User->find('first',
array(
'contain'=> array(
'Galleryitem' => array(
'Image'
)
)
)
);
Je reçois des données ici sur les Image
. Donc, il semble que la profondeur joue un rôle ici.
D'autres facteurs qui sont venus à l'esprit étaient la relation entre belongsTo
User
et Galleryitem
.
Quelle est la cause de ma requête pour ne pas renvoyer des données à partir d'une profondeur de 3?
Mise à jour L'ensemble des relations Showcase dans mon projet beaucoup plus ramifié que je l'explique ci-dessus. Toutes les autres branches apparaissent proprement. Donc, je suppose que cela a à voir avec des relations spécifiques dans cette branche, le .
Étrange encore, car les autres branches contiennent ce même ensemble de relation Galleryitem hasOne Image
.
Ce message (bien que déconseillé) par Felix Geisendörfer remonte aux premiers jours de containable et pourrait aider à expliquer: http://debuggable.com/posts/bringing-the-cold-war-to-cakephp-12- le -comparable-comportement: 480f4dd6-2b50-4d7b-ab05-418dcbdd56cb – Leo
+1, ABC est la seule chose qui fonctionne pour moi aussi pour des relations plus profondes. – sibidiba
Merci! Il semble que mon problème réside dans le code secondaire. Après réécriture/nettoyage ça a marché. Par ailleurs: J'ai trouvé qu'un tableau 'fields' dans une branche à propos de par exemple. 'Image' affecte les autres branches qui contiennent un champ' Image'. Le dernier tableau 'fields' dicte les autres. –