Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/08/2011, 00:44
jmsp102
 
Fecha de Ingreso: octubre-2010
Mensajes: 16
Antigüedad: 14 años, 1 mes
Puntos: 0
Cakephp relaciones uno-a-muchos

Hola, estoy realizando en cakephp una aplicacion pero tengo un problema con la funcion edit ya que tanto la funcion add como el index me funciona a la perfección pero tengo un problema a la hora de editar el contenido de una tabla. Al pulsar a "editar" que hay en el index.ctp me muestra la vista edit.ctp pero sin datos, cuando deberia mostrar los datos de ese registro. Pongo como tengo el controller y la vista edit.ctp

CONTROLLER
<?php
class MovimientosController extends AppController{
var $name = 'Movimientos';
var $helpers = array('Html', 'Form', 'Time');


function edit($id = null) {

if (!$id) {

$this->Session->setFlash('Movimiento no Válido');

$this->redirect(array('action'=>'index'), null, true);

}

if (empty($this->data)) {

$this->data = $this->Movimiento->find(array('id' => $id));

} else {

if ($this->Movimiento->save($this->data)) {

$this->Session->setFlash('Movimiento salvado');

$this->redirect(array('action'=>'index'), null, true);

}

}
$conceptos = $this->Movimiento->Concepto->find('list',array('conditions'=>array('Movimiento .concepto_id'=>'Concepto.id'),'fields'=>array('Con cepto.concepto')));
$this->set('conceptos', $conceptos);

} }
?>

VISTA EDIT.CTP

<?php echo $form->create('Movimiento');?>
<fieldset>
<legend>Edita Movimiento</legend>
<?php
echo $form->hidden('id');
echo $form->input('fecha');
echo $form->input('concepto');
echo $form->input('tipomov');
echo $form->input('notas');
echo $form->input('cantidad');
?>
</fieldset>
<?php echo $form->end('Salvar');?>
<?php echo $html->link('Listar Todas los Movimientos', array('action'=>'index')); ?>
<br />
<?php echo $html->link('Agregar Movimiento', array('action'=>'add')); ?>

La tabla movimientos tiene los siguientes campos:
id integer primary key
concepto_id integer clave secundaria
fecha date
tipomov varchar(1)
notas varchar(200)

La tabla conceptos:
id integer primary key
concepto varchar(50)

La relacion de concepto movimiento es 1->N

Alguien sabria decirme como editar los datos la tabla movimiento junto con el campo "concepto" de la tabla concepto.

Gracias de antemano