CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 22-11-2017 14:59:45

Xoto
Brownie
Date d'inscription: 20-08-2015
Messages: 24

[CakePHP 3] Enregistrement des associations

Bonjour, je vient vers vous car j'ai un problème que je n'arrive pas à résoudre depuis un petit moment.

Enfete, je possède deux tables: Devis et ArticlesDevis.
Il y a une relation Devis hasMany ArticlesDevis

Le problème c'est que dans la page d'ajout et de modification de devis je voudrait pouvoir ajouter plusieur articles dedans en même temps.

Pour cela j'ai d'abord mit la relation dans mon DevisTables.php

Code: php

  1. $this->hasMany('ArticlesDevis', [
  2.     'foreignKey' => 'id_devis',
  3.     'joinType' => 'INNER'
  4. ]);

Ensuite, dans ma page d'édition de devis j'ai rajouter les champs de formulaire suivant afin de pouvoir ajouter un articles dans le devis

Code: php

  1. <?= $this->Form->control('articles_devis.0.id', ['value' => '0']) ?>
  2. <?= $this->Form->control('articles_devis.0.designation') ?>
  3. <?= $this->Form->control('articles_devis.0.quantite') ?>
  4. <?= $this->Form->control('articles_devis.0.unite') ?>
  5. <?= $this->Form->control('articles_devis.0.prix_unitaire') ?>

Dans mon DevisController, je fait ensuite un patchEntity des donnée que j'envoi. Le probleme c'est que si je fait un debug du devis que je vient de patcher je voit que les article n'ont pas été patcher dedans alors que si je fait un debug des data envoyé elle y sont bien.

Code: php

  1. $devis = $this->Devis->patchEntity($devis, $this->request->getData(), [
  2.     'associated' => ['ArticlesDevis']
  3. ]);

Hors ligne

 

#2 22-11-2017 15:31:51

Xoto
Brownie
Date d'inscription: 20-08-2015
Messages: 24

Re: [CakePHP 3] Enregistrement des associations

Problème résolu, enfete c'etait dans la classe de mon entite devis qu'il fallait que je rajoute la propriété articles_devis en accessible.

C'etait tout con mais ca m'aura bien fait galérer mdr

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr