Bonjour,
Voila je rencontre un petit problème avec mon code.
J'ai plusieurs animaux que je cherche a catégoriser par couleur, j'ai donc lié mes models avec hasMany et belongsTo et créé une clé étrangère.
Je cherche à pouvoir cliquer sur ma catégorie et voir afficher les bon animaux.
Je ne sais pas du tout par où commencer pour afficher les bons animaux dans mes catégories, en ce moment j'obtiens tous mes animaux dans mes différentes catégories.
Je suis bloqué, par ou commencer ? Pouvez-vous m'orienter ? La lecture de Cake 2 ne m'aide pas
Excuse-moi, j'ai un peu ta question de travers...
Cake 2 n'est plus aussi frais dans ma mémoire, mais il me semble qu'il est possible de chainer les associations lors d'un find.
Tu peux me dire si quelque chose dans ce genre fonctionne ?
$this->Animal->Color->find('all', array(
'conditions' => array('Color.name' => 'LeNomDeTaCouleur')
));
C'est peut-être complètement incorrect, il y a un moment que je n'utilise plus Cake 2.
Si c'est le cas, il me semble que tu peux regarder les tables jointes ici.
Salut.
Je crois que tu peux obtenir le résultat escompté en utilisant Matching.
Sur le book, tu as une section dédiée assez bien expliquée et simple d'utilisation : http://book.cakephp.org/3.0/fr/orm/retrieving-data-and-resultsets.html#filtrer-par-les-donnees-associees
Le principe est simple. Tu récupères tes animaux et tu filtres les résultats en fonction de l'association. Par exemple :
$animals->find()
->matching('Colors', function ($q) {
return $q->where(['Colors.name' => 'LeNomDeTaCouleur']);
});
Bonjour à toi Ptolam, merci de ta réponse et désolé de ma réponse tardive.
Je suis en version CakePHP 2, cela ne pose pas un problème ? ( je l'ai pourtant précisé )
Cordialement
bonjour à toi Ptolam, lorsque je fais ça , ça marche et me renvoie
array (size=1)
0 =>
array (size=2)
'Categorie' =>
array (size=3)
'id' => string '2' (length=1)
'nom' => string 'Blanc' (length=5)
'couleur' => string 'white.png' (length=9)
'Animal' =>
array (size=1)
0 =>
array (size=5)
...
avec un var_dump
****EDIT : j'ai réussis ! ( avec quelques modification tout de même ) merci à toi, c'est toujours frais dans ta mémoire ! Maintenant je n'ai plus cas changer le titre de mes pages car j'ai toujours "Tous les Animaux" sur chaque page ! ^^