Hellow,
Alors, le champ values il contient la valeur du caractere X dans l'annonce Y
par exemple
le meme caractere peut avoir une autre valeur avec une autre annonce.

si j'ai bien suivi mes cours de BD il doit bien exister dans la table
d'association non?

2008/7/18 avairet <[EMAIL PROTECTED]>:

>
> Bonjour,
>
> Tu peux faire ton add() et ton edit() dans la même action, cela ne
> gêne pas Cake.
> Par contre, dans la cas du add(), forcément tu n'as pas d'id en champ
> caché dans ton formulaire, alors qu'avec edit() tu en auras un et
> c'est sur cet id que s'appuie Cake pour savoir si on est dans un cas
> UPDATE ou INSERT.
>
> L'attribut "with" est plus ou moins obsolète je crois...
>
> Pour avoir des données supplémentaires liées à ton association, tu
> dois créer une autre table, au moins.
> Que représente ton champ values exactement et pourquoi doit-il être
> lié à un couple d'id ?
>
> On 17 juil, 22:00, "ayoub hidri" <[EMAIL PROTECTED]> wrote:
> > ahh j'ai oublié un point -_-'
> >
> > Par principe, j'évite toujours d'avoir d'autres champs que les deux Id
> >
> > > dans une table de liaison représentant une HABTM, cela "casse" trop le
> > > modèle et les conventions Cake et apporte forcément des casses-têtes
> > > supplémentaires. Par ailleurs, ce n'est pas très "SQL Compliant"
> > > d'avoir ce champ supplémentaire dans une relation "n:m"...
> >
> > comment je dois faire dans ce cas pour avoir les données supplémentaires
> > liés à mon association??
> >
> > 2008/7/17 ayoub hidri <[EMAIL PROTECTED]>:
> >
> > > Salut avairet ,
> > > Alors c'est un peu compliqué pour le formulaire
> > > au j'ai fait une seule action edit pour l'ajout et la mise à jour je ne
> > > savait pas que le nom de l'action action elle meme pouvait influencer
> le
> > > comportement de cake sinon pour la clause with c'etait une tentative
> > > désespéré après avoir lu un truc dessus j'ai voulu essayer.
> >
> > > Encore merci avairet je vais essayer de créer deux action differentes
> et
> > > voir ce que ca donne
> >
> > > 2008/7/17 avairet <[EMAIL PROTECTED]>:
> >
> > > Bonjour Joomtex,
> >
> > >> Peux-tu nous donner un peu plus d'infos, notamment sur la structure de
> > >> ton formulaire ?
> >
> > >> Par ailleurs, pourquoi utilises-tu la clause "with" dans l'association
> > >> déclarée dans Annonce et pas ailleurs ?
> > >> Elle ne me semble pas utile dans ce contexte. Et si elle l'est, as-tu
> > >> vraiment créé le modèle AnnonceCaractere (sans le S à annonce
> > >> attention) ?
> >
> > >> Dans un save() si tu es dans une action add(), Cake fera toujours des
> > >> INSERT dans ta table de liaison.
> > >> Par contre, si tu es dans une action edit(), il supprimera d'abord
> > >> tout ce qui se trouve dans la table et refera des INSERT.
> > >> Si tu obtiens des UPDATE, c'est qu'il y a un souci d'implémentation,
> > >> soit au niveau des modèles/associations, soit au niveau du formulaire.
> >
> > >> Par principe, j'évite toujours d'avoir d'autres champs que les deux Id
> > >> dans une table de liaison représentant une HABTM, cela "casse" trop le
> > >> modèle et les conventions Cake et apporte forcément des casses-têtes
> > >> supplémentaires. Par ailleurs, ce n'est pas très "SQL Compliant"
> > >> d'avoir ce champ supplémentaire dans une relation "n:m"...
> >
> > >> En espérant t'avoir donner des idées...
> >
> > >> On 16 juil, 02:17, joomtex <[EMAIL PROTECTED]> wrote:
> > >> > Bonjour tout le monde,
> > >> > depuis quatre jours je me grille les neurones sur une sauvegarde de
> > >> > HABTM et là je jette k'éponge j'en peux plus:
> >
> > >> > J'ai deux modeles Annonce et Caractere
> >
> > >> > dans l'annonce :
> >
> > >> > var $hasAndBelongsToMany = array(
> > >> >                         'Caractere' => array('className' =>
> 'Caractere',
> > >> >                                                 'joinTable' =>
> > >> 'annonces_caracteres',
> > >> >                                                 'foreignKey' =>
> > >> 'annonce_id',
> > >> >
> 'associationForeignKey'
> > >> => 'caractere_id',
> > >> >                                                 'unique' => true,
> > >> >                                                 'with' =>
> > >> 'AnnoncesCaractere',
> > >> >                                                 'conditions' => '',
> > >> >                                                 'fields' => '',
> > >> >                                                 'order' => '',
> > >> >                                                 'limit' => '',
> > >> >                                                 'offset' => '',
> > >> >                                                 'finderQuery' => '',
> > >> >                                                 'deleteQuery' => '',
> > >> >                                                 'insertQuery' => ''
> > >> >                         );
> >
> > >> > dans le Caractere :
> > >> > var $hasAndBelongsToMany = array(
> > >> >                         'Annonce' => array('className' => 'Annonce',
> > >> >                                                 'joinTable' =>
> > >> 'annonces_caracteres',
> > >> >                                                 'foreignKey' =>
> > >> 'caractere_id',
> > >> >
> 'associationForeignKey'
> > >> => 'annonce_id',
> > >> >                                                 'unique' => true,
> > >> >                                                 'conditions' => '',
> > >> >                                                 'fields' => '',
> > >> >                                                 'order' => '',
> > >> >                                                 'limit' => '',
> > >> >                                                 'offset' => '',
> > >> >                                                 'finderQuery' => '',
> > >> >                                                 'deleteQuery' => '',
> > >> >                                                 'insertQuery' => ''
> > >> >                         );
> >
> > >> > ma table d'association :
> > >> >  (  `annonce_id` int(11) NOT NULL,
> > >> >   `caractere_id` int(11) NOT NULL,
> > >> >   `values` varchar(255) default NULL,
> > >> >   PRIMARY KEY  (`annonce_id`,`caractere_id`),
> > >> >   KEY `fk_annonces_caracteres_annonces` (`annonce_id`),
> > >> >   KEY `fk_annonces_caracteres_caracteres` (`caractere_id`)
> > >> > )
> >
> > >> > j'aimerais enregistrer avec chaque annonce ses caracteres et les
> > >> > valeurs qu'ils prenne pour cette annonce.
> >
> > >> > j'ai fait en sorte pour avoir mes données sous cette forme :
> >
> > >> > [Caractere] => Array
> > >> >         (
> > >> >             [0] => Array
> > >> >                 (
> > >> >                     [AnnoncesCaractere] => Array
> > >> >                         (
> > >> >                             [caractere_id] => 2
> > >> >                             [annonce_id] => 81
> > >> >                             [values] => aze
> > >> >                         )
> >
> > >> >                 )
> >
> > >> >             [1] => Array
> > >> >                 (
> > >> >                     [AnnoncesCaractere] => Array
> > >> >                         (
> > >> >                             [caractere_id] => 8
> > >> >                             [annonce_id] => 81
> > >> >                             [values] => rty
> > >> >                         )
> >
> > >> >                 )
> >
> > >> >             [2] => Array
> > >> >                 (
> > >> >                     [AnnoncesCaractere] => Array
> > >> >                         (
> > >> >                             [caractere_id] => 5
> > >> >                             [annonce_id] => 81
> > >> >                             [values] => uio
> > >> >                         )
> >
> > >> >                 )
> >
> > >> >             [3] => Array
> > >> >                 (
> > >> >                     [AnnoncesCaractere] => Array
> > >> >                         (
> > >> >                             [caractere_id] => 7
> > >> >                             [annonce_id] => 81
> > >> >                             [values] => pqs
> > >> >                         )
> >
> > >> >                 )
> >
> > >> >         )
> > >> > mais cake n'enregistre que la premiere valeur et après il fait des
> > >> > update , ce que je veux ces't qu'il fasse des INSERT à la place des
> > >> > UPDATE.
> >
> > >> > MErci
> >
>

--~--~---------~--~----~------------~-------~--~----~

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 à