Ahí encontré una forma, no se si es la mejor pero funciona, quizás a alguien le sirva:
echo $form->create('Standing', array('action'=>'update'));
foreach ($standings as $standing):
$class = null;
if ($i++ % 2 == 0) {
$class = ' class="altrow"';
}
?>
<tr<?php echo $class;?>>
<td><?php echo $standing['Standing']['id']; ?> </td>
<td>
<?php echo $this->Html->link($standing['Team']['name'], array('controller' => 'teams', 'action' => 'view', $standing['Team']['id'])); ?>
</td>
<td><?php echo $form->input('Standing'.$standing['Standing']['id'].'points',array('label'=>'','class'=>'short','value'=>$standing['Standing']['points'])); ?> </td>
<td class="actions">
<?php echo $this->Html->link(__('View', true), array('action' => 'view', $standing['Standing']['id'])); ?>
<?php echo $this->Html->link(__('Edit', true), array('action' => 'edit', $standing['Standing']['id'])); ?>
<?php echo $this->Html->link(__('Delete', true), array('action' => 'delete', $standing['Standing']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $standing['Standing']['id'])); ?>
</td>
</tr>
<?php endforeach; ?>
</table>
<?php echo $form->end('Add');?>
function admin_update() {
$this->layout = "admin";
if (!empty($this->data)) {
Debugger::dump($this->data['Standing']);
//obtengo todos los registros de la tabla de posiciones
$standings = $this->Standing->find('all',array('order' => array('Standing.points'=> 'desc'),'conditions' => array('Tournament.status'=>'A')));
foreach ($standings as $standing){
$id = $standing['Standing']['id'];
$this->Standing->read(null, $id);
$this->Standing->saveField('points',$this->data['Standing']['Standing'.$id.'points']);
}
$this->Session->setFlash(__('The standing has been saved', true));
$this->redirect(array('action' => 'index'));
}
}