Bonjour Guillaume,

Ce que tu décris fonctionne parfaitement, je l'ai expérimenté. Un
save() "simple" sauvegarde les champs d'un formulaire pour le modèle
courant ET pour les modèles qui lui sont liés par HABTM. C'est à dire
que les tables de liaisons de mes relations n:m sont correctement
remplies.

Par contre, si j'ai dans mon formulaire des champs liés à des modèles
qui sont associés en hasOne ou hasMany avec mon modèle principal et
bien avec un save() "simple" ils ne sont pas sauvegardés. Cela me
semble "normal" dans la mesure où la doc nous apprend que pour
sauvegarder les modèles associés, on doit d'abord faire le save, puis
récupérer l'id et refaire un save sur les autres modèles.

Suite à ces considérations, je constate au fil du temps que saveAll()
a été améliorée.
Je la teste sur mon formulaire et je réaffirme ici que seul le modèle
principal et les modèles associés en hasOne ou hasMany sont sauvés, en
aucun cas les HABTM...

Maintenant, comme je l'ai précisé, si quelqu'un arrive à sauver tous
les champs avec un saveAll(), je suis preneur, car pour le moment,
j'enchaîne un save() suivi d'un saveAll() pour enregistrer la totalité
de mon formulaire. En terme de perf pure, cela ne se sent pas trop, du
fait que je n'ai pas 50 champs dans mon formulaire, mais je pense que
ce n'est pas super propre comme procédé...

Je reprécise que j'utilise les nightly builds de la branche 1.2.x.x

Aurélien

On 2 avr, 08:23, Guillaume <[EMAIL PROTECTED]> wrote:
> Bon un doute m'étreint là... je fais depuis une semaine des Shells de
> migration de données en créant des relations (hatbm entre autres) "à
> la main" à qui mieux mieux et j'utilise save() sans soucis apparent...
> En bref, ça m'a l'air de marcher...
>
> Guillaumehttp://cherryonthe.popnews.com
>
> On 1 avr, 20:22, avairet <[EMAIL PROTECTED]> wrote:
>
> > Car si je fais juste un save(), alors les champs qui correspondent aux
> > modèles associés à Item ne sont pas sauvegardés !!
>
> > On 1 avr, 20:20, avairet <[EMAIL PROTECTED]> wrote:
>
> > > Bon, je dois être débile...
>
> > > On 1 avr, 20:04, "Mehdi AMINI" <[EMAIL PROTECTED]> wrote:
>
> > > > >  Désolé Medhi, mais quand tu dis dans ta première phrase "sauf pour 
> > > > > les
> > > > >  HABTM" et dans ta seconde phrase "ça doit fonctionner", alors tu te
> > > > >  contredis
>
> > > > Seulement parceque tu tronques l'essentiel de la première phrase : "
> > > > créer les enregistrements associés".
>
> > > > > Ce que j'entends par là est simple :
> > > > >  - je crée un Item
> > > > >  - je remplis ses champs spécifiques
> > > > >  - je dois sélectionner un ou plusieurs Tags (dans un select multiple
> > > > >  par exemple) et je veux qu'à la validation du formulaire, la table
> > > > >  "items_tags" se remplissent avec l'id de mon item en cours de créa et
> > > > >  les ids de tous les tags séelctionnés.
>
> > > > Aucune raison d'utiliser saveAll dans ce que tu décris...
>
> > > > Mehdi
--~--~---------~--~----~------------~-------~--~----~

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 à