如何在GridView中获得价值?

时间:2015-05-19 15:58:25

标签: php yii2

我有一个timestamp列,我只是想格式化它。在GridView中,我有以下内容:

[
    'attribute' => 'timestamp',
    'filter' => false,
    'value' => function($model, $key, $index, $column) {
         // How to get current timestamp value here???
    }
],

文档说,$model$column都返回对象,但我仍然找不到提供列数据的方法。我该怎么做呢?

2 个答案:

答案 0 :(得分:3)

你可以使用$model通过getter调用任何属性,这将返回当前模型的属性(根据GridView中的行):

[
    'attribute' => 'timestamp',
    'filter' => false,
    'value' => function($model, $key, $index, $column){
        return $model->timestamp;
    }
],

显然这样的return没有任何意义,但你可以按照你想要的方式格式化它。 Yii2中有一些日期/日期时间格式的内置选项,您可以在官方文档中查看它们:

答案 1 :(得分:0)

我在Yii 1中使用以下内容:

 [
        'attribute' => 'timestamp',
        'filter' => false,
        'value' => 'Custom::formatDateTime($data->date_stamp)',
    ],

显然,formatDateTime是我创建的自定义方法。