Frage

Ich bin neu im Yii-Framework und habe gerade mit der Arbeit an einer bestehenden Website begonnen.Ich habe eine Auflistungsseite und meine Anforderung bestand darin, ein neues Feld „review_date_time“ hinzuzufügen, und ich konnte es in der Auflistung anzeigen.Meine Frage ist nun, wie ich das Format des Datums ändern und ein Leerzeichen anzeigen kann, wenn im Tabellenfeld kein Datum vorhanden ist. Im Moment wird 0000-00-00 00:00:00 angezeigt, wenn kein Datum vorhanden ist.

Mein Code für die Auflistung

 $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',
                    ),
    ),
 ));
War es hilfreich?

Lösung

Wenn es angezeigt wird 0000-00-00 00:00:00 dann bedeutet das, dass dieser Wert der Standardwert in der Datenbanktabelle ist, daher müssen Sie den verwenden value Eigentum von 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',
                ),
 ),
));

Oder probieren Sie es aus nullDisplay Eigentum von CGridView (wenn Sie null speichern und afterFind überschreiben, um null als 0000-00-00 00:00:00 zu formatieren):

$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',
                ),
 ),
));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top