Formato diferente en BD y en input html en Yii



   AUTOR PREGUNTA

Publicado 05 noviembre 2014 - 00:26

Estoy trabajando con yii framework para una aplicacion web y tengo un pequeño problema, tengo una base de datos construida con mysql con un campo de tipo date que tiene un formato como este:

“2013-04-05”

adicionalmente tengo un CActiveForm con input de tipo texto el cual acepta valores de la siguiente forma:
"05/10/2013"
Cual es la manera adecuada y correcta de convertir estos dos formatos cuando se cargan y se hace submit del form, que metodo necesito sobrecargar?


¿Tienes la misma pregunta? Yo también

 

Publicado 05 noviembre 2014 - 19:39

Puedes utilizar un atributo virtual y de esa forma modificarlo en tu modelo de la siguiente forma:

public $fechaEntrante = 'yyyy-MM-dd';
public $fechasaliente = 'dd/MM/yyyy';
public function getDateFR() {
return Yii::app()->dateFormatter->format($this->fechasaliente, CDateTimeParser::parse($this->date, $this->fechaEntrante)); }

public function setDateFR($date) {
$this->date = Yii::app()->dateFormatter->format($this->fechaEntrante, CDateTimeParser::parse($date, $this->fechasaliente)); }

 

Publicado 05 noviembre 2014 - 19:40

Puedes leer acerca del comportamiento de las fechas y problemas en los formatos aqui:

Por favor Identificate o Registrate para poder ver este contenido


Por favor Identificate o Registrate para poder ver este contenido


   AUTOR PREGUNTA

Publicado 05 noviembre 2014 - 20:05

Gracias por el ejemplo Jhony y por la informacion felipe