我想根据db字段值在GridView
中定义属性的格式。我试着像这样的例子:
'format' => function ($model) {return $model->format;}, // it should return 'boolean'
但我也尝试了很多其他方法,但它没有用。我得到了:
PHP注意 - yii \ base \ ErrorException
尝试获取非对象的属性
如果我只是将format
作为属性返回,那么它的工作没有任何问题。它似乎不在format
部分接受它。
无论如何我有可能想要实现的目标吗?你能指点我正确的方向吗?
答案 0 :(得分:1)
Closure
的 format
s。您可以使用raw
格式,并在Closure
value
中格式化[
'attribute' => 'name',
'type' => 'raw',
'value' => function ($model) {
$format = 'as' . ucfirst($model->format);
return Yii::$app->formatter->$format($model->name);
},
],
:
{{1}}
答案 1 :(得分:0)
示例:
<?= GridView::widget([
'id' => 'grid-list',
'dataProvider' => $dataProvider,
[
'attribute' => 'format_date',
// 'format' => 'raw',
'value' => function ($model) {
// Here use \Yii::$app->formatter->asDate();
// Ex: return \Yii::$app->formatter->asDate($model->format_date);
return \Yii::$app->formatter->asDate($model->format_date);
},
],
]) ?>