Pergunta

Eu sou novo para o Yii framework e só começou a trabalhar em um site já existente.Eu tenho uma página de listagem de e minha exigência era a de adicionar um novo campo 'review_date_time' e eu poderia conseguiu exibi-lo na listagem.Agora a minha pergunta é como alterar o formato da data e como mostrar um espaço em branco, se a data não está lá no campo de tabela.Agora ele está exibindo 0000-00-00 00:00:00 se nenhuma data for lá.

Meu código para listagem

 $this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'series-grid',
    'dataProvider' => $model->search(),
    'filter' => $model,
    'columns' => array(
                    array('header' => 'Category', 'name' => 'category.title'),
                    'exam_year',
                    'title',
                    'review_date_time',
                    array(
                        'class' => 'CButtonColumn',
                    ),
    ),
 ));
Foi útil?

Solução

Se ele está mostrando 0000-00-00 00:00:00 então isso significa que, que é o valor padrão na tabela db, daí você vai ter que usar o value propriedade de CDataColumn:

$this->widget('zii.widgets.grid.CGridView', array(
 'id' => 'series-grid',
 'dataProvider' => $model->search(),
 'filter' => $model,
 // 'nullDisplay'=>'',
 'columns' => array(
                array('header' => 'Category', 'name' => 'category.title'),
                'exam_year',
                'title',
                // 'review_date_time',
                array(
                    'name'=>'review_date_time',
                    'value'=>'$data->review_date_time=="0000-00-00 00:00:00"?"":$data->review_date_time'
                )
                array(
                    'class' => 'CButtonColumn',
                ),
 ),
));

Ou tente o nullDisplay propriedade do CGridView (se você estiver armazenando nulo e substituindo afterFind para formatar null como 0000-00-00 00:00:00):

$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'series-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'nullDisplay'=>'',
'columns' => array(
                array('header' => 'Category', 'name' => 'category.title'),
                'exam_year',
                'title',
                'review_date_time',
                array(
                    'class' => 'CButtonColumn',
                ),
 ),
));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top