Bonjour à tous,
voila j'essaie de faire un saveall dans le but d'updater, je m'explique :
j'ai une table "Pages" pour fr simple : avec 3 colonnes (id, name, camion), les id et camions sont deja remplis dans la table.
le but de cette appli, est de remplir dans un form le name qui correspond à chaque camion.
j'ai fait une boucle foreach pour lister tous les names vides afin de compléter.
Pour le moment, le formulaire ne me remplit que le dernier name de la liste
Controller :
class PagesController extends AppController {
function index(){
$this->layout = false;
$d'test'] = $this->Page->find('all', array(
'conditions'=> array('name'=>'')
));
$this->set($d);
if ($this->request->is('post')) {
if ($this->Page->saveAll($this->request->data)) {
} else {
}}}
Vue : Pages/index.ctp
<div class="container">
<?php echo $this->Form->create('Page', array('role'=>'form')); ?>
<?php foreach ($test as $k => $v): ?>
<?php echo $this->Form->input('id', array('value'=> $v'Page']'id']));?>
<div class="form-group">
<?php echo $this->Form->input('name', array('label'=>'le nom', 'value'=>$v'Page']'name']));?>
</div>
<div class="form-group">
<?php echo $this->Form->input('camion', array('label'=>'le n° du camion','value'=>$v'Page']'camion'],'disabled'));?>
</div>
<?php endforeach; ?>
<?php echo $this->Form->end('Envoyer les données');?>
</div>
et voici le debug :
$mesdonnees = ($this->request->data);
debug($mesdonnees);
app/Controller/PagesController.php (line 18)
array(
'Page' => array(
'id' => '8',
'name' => 'brbr'
)
)
Merci de votre aide ...
si qq1 connait un bon tuto sur les SaveAll, je suis + que preneur
Tu fais un foreach sur tes inputs mais tu passe pas la clé donc forcement ça écrase les précédents
<?php foreach ($test as $k => $v): ?>
<?php echo $this->Form->input($k . 'id', array('value'=> $v'Page']'id']));?>
<div class="form-group">
<?php echo $this->Form->input($k . 'name', array('label'=>'le nom', 'value'=>$v'Page']'name']));?>
</div>
<div class="form-group">
<?php echo $this->Form->input($k . 'camion', array('label'=>'le n° du camion','value'=>$v'Page']'camion'],'disabled'));?>
</div>
<?php endforeach; ?>
Là ça te sortira un truc comme ça :
array(
'Page' => array(
0 => array(
'id' => '8',
'name' => 'brbr',
'camion' => '....'
),
1 => array(
'id' => '8',
'name' => 'brbr',
'camion' => '....'
),
...
)
)