Medhi, je n'ai jamais dit que cela ne fonctionnait pas comme tu le
proposes...
Et je n'ai jamais dit que ma solution était optimale.
Maintenant, ta démonstation me convainct en terme Cake, pas en terme
Merise/SQL.
Je ne pensais pas que l'on pouvait faire les hasMany sur Utilisateur
comme tu le proposes.
Pour moi, modéliser "un Utilisateur hasMany Auteur" me paraît toujours
illogique, mais je pense que je suis parfois trop cartésien et pas
assez abstrait !
Et je trouve toujours limite la solution qui consiste à tordre le coup
à un modèle de données pour le faire entrer dans la mécanique Cake...
Donc cher Giz, oubliez tout ce que je vous ai dit et suivez les
conseils de Medhi !
On 14 avr, 16:16, "Mehdi AMINI" <[EMAIL PROTECTED]> wrote:
> Salut,
>
> > Effectivement, cela devrait fonctionner comme tu le dis, mais je
> > trouve moins propre en terme de modélisation, d'avoir une triple
> > liaison entre Utilisateur et Application... sachant que dans la table
> > Utilisateur, rien ne discrimine un Auteur d'un ResponsableMOE ou MOA.
>
> Et alors ? Dans ton cas dans la table utilisateur il y a quelque chose
> qui le distingue ?
> Ajouter 3 tables de liaison avec juste les ID de liaisons ça apporte
> quelques chose sur le design ?
>
>
>
> > Cela laisse à supposer, du point de vue modèle, qu'une application
> > appartient à plusieurs Utilisateur, voire potentiellement à 3 fois le
> > même Utilisateur.
>
> Et quel diff avec ta modélisation ?
> Au niveau DB je ne vois pas, si c'est au niveau cake, le nom de
> l'association donne le rôle et lève l'ambiguité. Sinon si c'est
> uniquement le niveau cake qui te dérange : créer 3 modèle : Auteur,
> ResponsableMOA, ResponsableMOE, et leur donner un
> usetable='utilisateurs';
>
> > Par ailleurs, comment formulerais-tu dans cette hypothèse, les
> > associations dans le Modèle Utilisateur ?
>
> Strictement réciproquement :
> class Utilisateur {
>
> var $hasMany = array(
> 'Auteur' => array('className' => 'Application',
> 'conditions'=>'',
> 'order'=>'',
> 'foreignKey' => 'auteur_id'),
> 'RespMOA' => array('className' => 'Utilisateur',
> 'conditions'=>'',
> 'order'=>'',
> 'foreignKey' => 'responsableMOA_id'),
> 'RespMOE' => array('className' => 'Application',
> 'conditions'=>'',
> 'order'=>'',
> 'foreignKey' => 'respMOE'),
> );
>
>
>
> > Je ne prétends pas être un super modeleur SQL, ni un maître des
> > associations Cake et je pense que plusieurs solutions sont possibles,
> > à partir du moment où elles sont vraiment cohérentes et logiques.
>
> L'interêt de ce que je propose est surtout de faciliter BCP
> l'utilisation des facilités de cake, de plus la recursivité de niveau> 0 est
> très couteuse dans cake, ce que je propose génèrera tout
>
> simplement moins de requêtes. Avec le fait que l'enregistrement est
> facilité, ça fait vraiment trop de raison pour ne pas fonctionner
> comme ça.
>
> Mehdi
--~--~---------~--~----~------------~-------~--~----~
Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---