Bonjour,

Voila je rencontre un petit problème avec mon code.

Je vous met en contexte, j'ai une BDD composée d'une table étudiants, et une table notes.
J'essaie de faire en sorte que lorsque je clique sur le nom de l'étudiant, j'obtienne toutes ses notes.
J'ai donc tenté de créer cette fonction dans le controller.

    public function notesEtudiant($id) {
            $this->set('notes', $this->Etudiant->find('all', array(
                'fields' => '*',
                'joins' => array(
                    array(
                        'table'      => 'notes',
                        'alias'      => 'Note',
                        'type'       => 'LEFT',
                        'conditions' => array('Note.etudiant_id = Etudiant.id')
                    )
                )
            )));
        }

Mais lorsque j'affiche la vue, mon étudiant, possède toutes les notes de la table notes.
J'aimerai rajouter une condition dans mon join. Lorsque je fais
'conditions' => array('Note.etudiant_id = Etudiant.id and Notes.etudiant_id == 1 ')
J'obtient bien toutes les notes de l'étudiant 1.

Comment puis-je faire pour récupérer la valeur de $id afin de rendre la fonction spécifique à celuici?

Merci :)

2 réponses


Defy
Réponse acceptée

tu passe un id en paramètre pourquoi ne pas utiliser celui la?

Kyou
Auteur

Le problème était que je n'arrivais pas à le récupérer. Il fallait que je le note de cette manière : 'conditions' => array('Note.etudiant_id = '. $id .'')

Merci de ton aide en tout cas! :)