Acá el problema es claro.

Tienes tu fecha dividida en tres campos, debes de  hacer algo como lo
siguiente para que funcione:

 $this->data["Tarea"]["fecha"]  = date("Y-m-d H:i:s",mktime(0,0,0,

$this->data["Tarea"]["fecha_month"],

$this->data["Tarea"]["fecha_day"],

$this->data["Tarea"]["fecha_year"]));

Por que de lo contrario cake espera qeu tengas un campo numerico para cada
elemento de la fecha, de esta forma podrás guardarlo como si fuera una fecha
de time stamp >=)

Un saludo


El día 12/09/07, Pablo López <[EMAIL PROTECTED]> escribió:
>
> Hola lista,
>
> Tengo un problema a la hora de salvar fechas con la version 1.2 de
> CakePHP. (uso PHP 5, aunque no creo que tenga que ver)
>
> El problema reside en que los datos que se pasan por POST al controlador
> quedan de la siguiente manera:
>
> /* DUMP $this->data */
> Array
> (
>     [Tarea] => Array
>         (
>             [id] => 3
>             [fecha_month] => 09
>             [fecha_day] => 02
>             [fecha_year] => 2007
>             ...
>         )
> )
> /* END DUMP */
>
> Cuando intento salvar los datos con $this->Tarea->save($this->data['Tarea'])
> almacena todo correctamente salvo la fecha que queda como 0000-00-00
>
> El código es el siguiente  -->
>
> /* INICIO DE CODIGO */
>
> /* SQL */
> CREATE TABLE `tareas`
> {
>     ...
>     `fecha` DATE NOT NULL,
>     ...
> }
>
> /* Vista (/tareas/editar) */
> <form action="<?=$html->url('/tareas/nueva')?>" method="POST">
>     <?=$form->input('Tarea.fecha')?>
>     <?=$form->input('Tarea.nombre')?>
>     <?=$form->text('Tarea.descripcion')?>
>
>     <?=$form->label('Hecha')?>
>     <?=$form->checkbox('Tarea.hecha')?>
>
>     <?=$form->submit('Guardar')?>
>     <? // $form->button('Cancelar','button')?>
> </form>
>
> /* Controlador (tareas) */
>
>     function editar($id = "")
>     {
>         if (! empty($this->data))
>         {
>             if ($this->Tarea->save($this->data['Tarea']))
>             {
>                 # ToDo: NO SALVA FECHA (bug?)
>                 $this->flash('La tarea ha sido salvada','/tareas');
>                 die();
>             }
>             else
>             {
>                 $this->flash('ERROR: La tarea no pudo ser
> salvada','/tareas');
>                 die();
>             }
>         }
>
>         // PREPARACION DE PARAMETROS
>         $this->parseInteger(&$id);
>         // ERRORES
>         $id == "" ? $this->flash('Tienes que especificar una tarea a
> editar','/tareas/lista') : null ;
>
>         // PREPARACION DE DATOS
>         $this->Tarea->id = $id;
>         $this->data = $this->Tarea->read();
>
>         // RETORNO DE DATOS
>     }
>
> /* FIN DE CODIGO */
>
> Gracias por vuestro tiempo,
>
> Pablo López Torres
> <[EMAIL PROTECTED]>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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 CakePHP-es@googlegroups.com
 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.

-~----------~----~----~----~------~----~------~--~---

Reply via email to