Salut,

il n'y a pas de raison spéciale, je trouve que le code est plus clean
quand ces infos sont séparées.
Dans quel contrôleur mettrais-tu la méthode d'ajout de questions à un
évènement ? contrôleur évènement ou question ?

Il y a bien évidemment du code entre le (!empty($data)) et le reste,
j'ai mis les 3 petits points : c'est le bout de code qui va renvoyer
un message si l'évènement ou la question n'existe pas

en fait l'utilisateur choisit plusieurs questions qui sont ajoutées en
même temps à l'évènement.

mes modèles intermédiaires ne contiennent pas de propriete primaryKey
à l'inverse des 3 modèles principaux :
class Question extends AppModel {

        var $name = 'Question';
        var $primaryKey = 'question_id';


Au niveau bdd, j'ai respecté la nomenclature, la table intermédiaire
comporte 2 champs event_id et question_id
C'est la même chose pour la 2eme table intermédiaire, event_id,
user_id.

La clé primaire de chacune de ces tables est composée de ces 2 champs.

Seule différence, la table event_has_users possède d'autres champs,
par exemple un champ booléen pour savoir si l'utilisateur fait partie
des organisateurs.

Magalie

On 7 fév, 10:25, Mehdi AMINI <joker....@gmail.com> wrote:
> Hello,
>
> > l'ajout se fait via la fonction add du controlleur EventHasUsers
>
> Il y a une bonne raison pour créer des modèles et des controlleurs pour
> les tables intermédiaires ? On peut manipuler les assoc depuis les 3
> controller/modèle principaux.
>
> >            if (!empty($this->data)) {
> > ...
> >                                    
> > $this->data['EventHasQuestion']['event_id'] = $id;
> >                                    
> > $this->data['EventHasQuestion']['question_id'] = $value;
> >                                    $this->EventHasQuestion->create();
> >                                    if 
> > (!$this->EventHasQuestion->save($this->data)) {
> >                                            $save = FALSE;
> >                                    }
>
> Juste une remarque : tu testes si $this->data contient quelque chose
> mais tu n'en tiens pas compte dans la suite...
>
> Pour l'update, on dirait que Cake considère que question_id est ta clé
> primaire du modèle EventHasQuestion, la table contient un champs id ?
>
> Mehdi
--~--~---------~--~----~------------~-------~--~----~

Groupe "Cakephp-fr".
Adresse : cakephp-fr@googlegroups.com
Pour résilier  : cakephp-fr-unsubscr...@googlegroups.com
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à