Buenas tardes lista,
les cuento el nuevo problema que ha llegado
Tengo un tabla Tours que tiene su relacion es de 1 a muchos (HasMany) a
Colegios ( BelongsTo). En el controlador de Tours
existen varias funciones básicas como eliminar, borrar, editar, agregar,
etc, el problema radica específicamente al momento de actualizar un registro
de Tour
no sé por que se mete un insert nuevamente y me crea un registro duplicado.
Por ejemplo si tenia un Tour con id = 1 y lo edito para cambiar su fecha al
momento de guardar los cambios me crea uno nuevo con id = 2 y los nuevos
datos ingresados. La idea es que se mantenga el registro original y sólo
modifique los campos que fueron actualizados no crear un registro por cada
actualización.
aquí adjunto mi función de editar:
function edit($id=null)
{
$this->pageTitle = 'Actualizar Tour';
//$this->cleanUpFields();
$this->set('colegiosList', $this->Tour->Colegio->generateList(null,
null, null, "{n}.Colegio.id", "{n}.Colegio.name")); //Esto es para llenar un
select
if (empty($this->data))
{
$this->Tour->id = $id;
$this->data = $this->Tour->read();
}
else
{
if ($this->Tour->save($this->data['Tour']))
{
$tour_id = $this->Tour->getLastInsertId();
$this->data['Colegio']['tour_id'] = $tour_id;
$this->Tour->Colegio->save($this->data);
$this->flash('El tour ha sido actualizado.','/tours');
}
}
}
debug:
1SELECT `Colegio`.`id`, `Colegio`.`tour_id`, `Colegio`.`name`,
`Colegio`.`created`, `Colegio`.`modified` FROM `colegios` AS `Colegio` WHERE
1 = 1
221 2INSERT INTO `tours` (`description`,`created`,`modified`) VALUES
('ahaha3355','2007-09-24 13:44:20','2007-09-24 13:44:20')
1
1 3SELECT LAST_INSERT_ID() AS insertID
111 4SELECT COUNT(*) AS `count` FROM `colegios` AS `Colegio` WHERE
`Colegio`.`id` = 5
111 5SELECT COUNT(*) AS `count` FROM `colegios` AS `Colegio` WHERE
`Colegio`.`id` = 5
112 6UPDATE `colegios` SET `id` = 5,`tour_id` = 27,`modified` = '2007-09-24
13:44:20' WHERE `id` IN (5)
Lo raro es que otros controladores tengo el mismo código y funciona bien,
creo que el problema se acerca a algo de lógica que en estos momentos
no puedo ver.
Saludos!
--
Victor Vargas B.
www.linux-atacama.cl
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos
de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [email protected]
Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
Para obtener más opciones, visita este grupo en
http://groups.google.com/group/CakePHP-es?hl=es.
-~----------~----~----~----~------~----~------~--~---