El 7/02/08, dandreta <[EMAIL PROTECTED]> escribió:
>
> Hola!!
> Tengo un campo de texto:
> $form->text('Fecha');
> y quiero poder introducir la fecha en formato dia-mes-año.
> ¿Como puedo hacer para que al ejecutar el save en el controlador
> convierta la fecha al formato adecuado de MySql(año-mes-dia)?
> y cuando obtengo un registro de la base de datos ¿como puedo hacer
> para que en mi vista la fecha aparezca en formato dia-mes-año y no en
> el formato año-mes-dia de Mysql?

en tu modelo podrias agregar los siguientes callbacks:


        /*
         * callback ejecutado antes de $this->tuModelo->save(datos);
         * se modifica fecha a formato MySQL -> YYYY-MM-DD
         */
        function beforeSave() {

                if (isset($this->data['tuModelo']['fecha'])) {

                        $paso = explode('/', $this->data['tuModelo']['fecha']);

                        $fecha_aux[] = $paso[2];
                        $fecha_aux[] = $paso[1];
                        $fecha_aux[] = $paso[0];

                        $this->data['tuModelo']['fecha'] =
implode('-', $fecha_aux);

                        unset($paso);
                        unset($fecha_aux);
                }

                return true;
        }


        /*
         * callback ejecutado despues de $this->tuModelo->find*(); y
$this->tuModelo->read();
         * se modifica fecha de formato YYYY-MM-DD (MySQL) a formato DD/MM/YYYY
         */
        function afterFind($datos) {

                foreach ($datos as $key => $val) {

                        if ( isset($val['tuModelo']['fecha']) ) {

                                $paso = explode("-", $val['tuModelo']['fecha']);
                                $datos[$key]['tuModelo']['fecha'] =
$paso[2]."/".$paso[1]."/".$paso[0];

                                unset($paso);
                        }
                }

                return $datos;
        }


-- 
Ricardo Mun~oz A.

--~--~---------~--~----~------------~-------~--~----~
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.

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

Responder a