我已经在GridView中工作了
[
'attribute' => 'attribute',
'value' => function ($model) {
return \Yii::$app->formatter->{$model->format}($model->attribute);
},
],
我想实现基本相同但在DetailView中实现:
[
'attribute' => 'attribute',
'value' => \Yii::$app->formatter->{$model->format}($model->attribute),
],
$model->format
来自DB,例如asDecimal
。
在DetailView中,出现以下错误:
PHP致命错误– yii \ base \ ErrorException
方法名称必须是字符串
如何避免此问题?您能指出我正确的方向吗?谢谢!
更新:它在索引页面中也不起作用。它仅适用于由giiant生成的视图,以及相关数据的网格视图。我看到这些是在某种程度上奇怪的回显的GridView,但是普通GridView和类似的GridView之间的主要区别是什么?
<?=
'<div class="table-responsive">'
. \yii\grid\GridView::widget([
'layout' => '{summary}{pager}<br/>{items}{pager}',
'dataProvider' => new \yii\data\ActiveDataProvider([
答案 0 :(得分:0)
从Yii 2.0.11开始,您可以像在DetailView
中一样在GridView
中使用闭包:
[
'attribute' => 'attribute',
'value' => function ($model) {
return \Yii::$app->formatter->{$model->format}($model->attribute);
},
],
https://www.yiiframework.com/doc/guide/2.0/en/output-data-widgets#detail-view