hola comunidad,
Tengo un Gridview en el que quiero que la columna fecha fin muestre aquellas fechas que están rellenas y que no muestre nada en las vacias. En mi base de datos (Mysql) tengo fechas con valor 0000-00-00 y otras con valor distinto, el campo fecha_fin en el modelo uso las funciones afterFind y beforeSave para convertir las fechas y pasarlas a formato DD/MM/AAAA.
Al realizar la consulta "CGridView" la comparación que realizo no se muestra bien, las fecha no son mostradas y si cambio los valores en en la comparación o me muestra 01-01-1970 o no llega a discriminar el valor correcto de este colocando en aquellas celdas los valores distintos a la 01-01-1970.
MODELO
protected function afterFind ()
{
$this->FECHA_ALTA=date('d-m-Y',strtotime($this->FECHA_ALTA));
$this->FECHA_BAJA=date('d-m-Y',strtotime($this->FECHA_BAJA));
return parent::afterFind ();
}
public function beforeSave()
{
$this->FECHA_ALTA=date('Y-m-d',strtotime($this->FECHA_ALTA));
$this->FECHA_BAJA=date('Y-m-d',strtotime($this->FECHA_BAJA));
En la vista correspondiente estoy utilizando el CJuiDatePicker _form
<div class="row">
<?php echo $form->labelEx($model,'FECHA_ALTA'); ?>
<?php
if ($model->FECHA_ALTA!='') {
$model->FECHA_ALTA=date('d-m-Y',strtotime($model->FECHA_ALTA));
}
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model'=>$model,
'attribute'=>'FECHA_ALTA',
'value'=>$model->FECHA_ALTA,
'language' => 'es',
'htmlOptions' => array('readonly'=>"readonly"),
'options'=>array(
'autoSize'=>true,
'defaultDate'=>$model->FECHA_ALTA,
'dateFormat'=>'dd-mm-yy',
'buttonImage'=>Yii::app()->baseUrl.'/images/calendar.png',
'buttonImageOnly'=>true,
//'buttonText'=>'Fecha',
'selectOtherMonths'=>true,
'showAnim'=>'slide',
'showButtonPanel'=>true,
'showOn'=>'button',
'showOtherMonths'=>true,
'changeMonth' => 'true',
'changeYear' => 'true',
),
)); ?>
<?php echo $form->error($model,'FECHA_ALTA'); ?>
</div>
EN LA VISTA ADMIN
<?php $this->widget(‘zii.widgets.grid.CGridView’, array(
'id'=>'tb-aplicacion-asociacion-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'COD_ENTIDAD',
array ('name'=>'cODENTIDAD', 'value'=>'$data->cODENTIDAD->NOMBRE_CORTO','header'=>'Entidad'),
'TIPO_PARTICIPA',
array ('name'=>'eSTENTIDAD','value'=>'$data->eSTENTIDAD->DESCRIP_ESTADO','header'=>'Estado'),
'FECHA_ALTA',
//array ('name'=>'FECHA_ALTA','value'=>'$data->FECHA_ALTA>=1985-01-01 ?" ":$data->FECHA_ALTA'),
//comparo la fecha con el valor de la tabla
array ('name'=>'FECHA_BAJA','value'=>'$data->FECHA_BAJA!==00-00-0000 ?" ":$data->FECHA_BAJA'),
array(
'class'=>'CButtonColumn',
),
),
)); ?>