Hello,

Oui, votre table Application doit contenir les trois clés étrangères !
C'est d'ailleurs ce que vous souhaitiez au départ.

Mais vous faites une erreur dans la déclaration des FK des
belongsTo...
Voici ce que vous devriez avoir :

var $belongsTo = array(
    'Auteur' => array('className' => 'Auteur',
                            'foreignKey' => 'auteur_id'),
    'Responsablemoa' => array('className' => 'Responsablemoa',
                                            'foreignKey' =>
'responsablemoa_id'),
    'Responsablemoe' => array('className' => 'Responsablemoe',
                                            'foreignKey' =>
'responsablemoe_id')
);

Et enfin, inutile de mettre le modèle Utilisateur en belongsTo,
puisque Application n'est pas en relation directe avec Utilisateur.

Avec cette construction, Cake saura parfaitement géré automagiquement
les liaisons entre Application et Auteur, Application et
ResponsableMOE, Application et ResponsableMOA.

Maintenant, dans vos autres Modèles, on aura :

Auteur.php :

var $hasMany = array(
    'Application' => array('className' => 'Application',
                           'conditions'=>'',
                           'order'=>'',
                           'foreignKey' => 'auteur_id'));

ResponsaleMOE.php :

var $hasMany = array(
    'Application' => array('className' => 'Application',
                           'conditions'=>'',
                           'order'=>'',
                           'foreignKey' => 'responsablemoe_id'));

ResponsaleMOA.php :

var $hasMany = array(
    'Application' => array('className' => 'Application',
                           'conditions'=>'',
                           'order'=>'',
                           'foreignKey' => 'responsablemoa_id'));

En espérant que tout cela vous aide...


Aurélien

On 11 avr, 11:40, Giz <[EMAIL PROTECTED]> wrote:
> Merci !
>
> Je suis d'accord sur le modèle, mais il y a une chose qui est encore
> floue au niveau de la manipulation de ces tables par Cake.
>
> Mes tables auteurs, responsablemoes et responsablemoas doivent
> contenir les 2 champs : id et utilisateur_id
> mais la table applications doit elle contenir les champs auteur_id,
> reponsablemoa_id et responsablemoe_id ?
> Je ne vois pas comment se font les liens entre ces tables...
>
> En gros mes modèles donnent ce qui suit :
>
> application.php
>
> var $belongsTo = array(
>     'Auteur' => array('className' => 'Auteur',
>                             'foreignKey' => 'utilisateur_id'),
>     'Responsablemoa' => array('className' => 'Responsablemoa',
>                                             'foreignKey' =>
> 'utilisateur_id'),
>     'Responsablemoe' => array('className' => 'Responsablemoe',
>                                             'foreignKey' =>
> 'utilisateur_id')
>     'Utilisateur' => array('className' => 'Utilisateur',
>                                  'foreignKey' => 'utilisateur_id'));
>
> auteur.php, responsablemoa.php et responsablemoe.php
>
> var $hasMany = array(
>     'Application' => array('className' => 'Application',
>                            'conditions'=>'',
>                            'order'=>'',
>



On 11 avr, 11:40, Giz <[EMAIL PROTECTED]> wrote:
> Merci !
>
> Je suis d'accord sur le modèle, mais il y a une chose qui est encore
> floue au niveau de la manipulation de ces tables par Cake.
>
> Mes tables auteurs, responsablemoes et responsablemoas doivent
> contenir les 2 champs : id et utilisateur_id
> mais la table applications doit elle contenir les champs auteur_id,
> reponsablemoa_id et responsablemoe_id ?
> Je ne vois pas comment se font les liens entre ces tables...
>
> En gros mes modèles donnent ce qui suit :
>
> application.php
>
> var $belongsTo = array(
>     'Auteur' => array('className' => 'Auteur',
>                             'foreignKey' => 'utilisateur_id'),
>     'Responsablemoa' => array('className' => 'Responsablemoa',
>                                             'foreignKey' =>
> 'utilisateur_id'),
>     'Responsablemoe' => array('className' => 'Responsablemoe',
>                                             'foreignKey' =>
> 'utilisateur_id')
>     'Utilisateur' => array('className' => 'Utilisateur',
>                                  'foreignKey' => 'utilisateur_id'));
>
> auteur.php, responsablemoa.php et responsablemoe.php
>
> var $hasMany = array(
>      'Application' => array('className' => 'Application',
>                             'conditions'=>'',
>                            'order'=>'',
>                            'foreignKey' => 'utilisateur_id'));
--~--~---------~--~----~------------~-------~--~----~

Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier  : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à