문제

저는 Yii 프레임워크를 처음 접했고 이제 막 기존 웹사이트에서 작업을 시작했습니다.목록 페이지가 있는데 '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',
                    ),
    ),
 ));
도움이 되었습니까?

해결책

보여지고 있는 경우 0000-00-00 00:00:00 그러면 해당 값이 db 테이블의 기본값이므로 다음을 사용해야 함을 의미합니다. value 재산 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',
                ),
 ),
));

아니면 nullDisplay 재산 CGridView(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',
                ),
 ),
));
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top