Comment formater la date dans la page de liste
-
11-12-2019 - |
Question
Je suis nouveau sur le framework Yii et je viens de commencer à travailler sur un site Web existant.J'ai une page de liste et mon exigence était d'ajouter un nouveau champ « review_date_time » et j'ai pu réussir à l'afficher dans la liste.Maintenant, ma question est de savoir comment changer le format de la date et comment afficher un espace blanc si la date n'est pas présente dans le champ du tableau. À l'heure actuelle, elle affiche 0000-00-00 00:00:00 si aucune date n'est présente.
Mon code pour l'inscription
$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',
),
),
));
La solution
S'il s'affiche 0000-00-00 00:00:00 alors cela signifie que cette valeur est la valeur par défaut dans la table de base de données, vous devrez donc utiliser le value
propriété 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 essayez le nullDisplay
propriété de CGridView (si vous stockez null et remplacez afterFind pour formater null comme 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',
),
),
));