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' => '....'
),
...
)
)