1

私は Yii フレームワークを初めて使用し、既存の Web サイトで作業を始めたばかりです。私はリスティング ページを持っており、新しいフィールド 'review_date_time' を追加する必要があり、それをリスティングに表示することができました。今私の質問は、日付の形式を変更する方法と、テーブル フィールドに日付がない場合に空白を表示する方法です。現在、日付がない場合は 0000-00-00 00:00:00 と表示されています。

リスト用の私のコード

 $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',
                    ),
    ),
 ));
4

1 に答える 1

0

0000-00-00 00:00:00が表示されている場合、その値は db テーブルのデフォルト値であるため、CDataColumnのvalueプロパティを使用する必要があります。

$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',
                ),
 ),
));

または、CGridView のnullDisplayプロパティを試してください (null を格納し、afterFind をオーバーライドして null を 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',
                ),
 ),
));
于 2012-05-19T05:49:29.207 に答える