来自 db 的 Yii2 方法名称在 gridview 中有效,但在 detailview 中无效,为什么?
Yii2 method name from db is working in gridview, but not in detailview, why?
我在 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
来自数据库,例如asDecimal
。
在 DetailView 中,我收到以下错误:
PHP Fatal Error – yii\base\ErrorException
Method name must be a string
如何避免这个问题?你能给我指出正确的方向吗?谢谢!
更新:它在索引页中也不起作用。它仅适用于由 giiant 生成的相关数据的网格视图中的视图。我看到这些是某种奇怪的回声网格视图,但普通网格视图与类似网格视图之间的主要区别是什么:
<?=
'<div class="table-responsive">'
. \yii\grid\GridView::widget([
'layout' => '{summary}{pager}<br/>{items}{pager}',
'dataProvider' => new \yii\data\ActiveDataProvider([
从 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
我在 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
来自数据库,例如asDecimal
。
在 DetailView 中,我收到以下错误:
PHP Fatal Error – yii\base\ErrorException
Method name must be a string
如何避免这个问题?你能给我指出正确的方向吗?谢谢!
更新:它在索引页中也不起作用。它仅适用于由 giiant 生成的相关数据的网格视图中的视图。我看到这些是某种奇怪的回声网格视图,但普通网格视图与类似网格视图之间的主要区别是什么:
<?=
'<div class="table-responsive">'
. \yii\grid\GridView::widget([
'layout' => '{summary}{pager}<br/>{items}{pager}',
'dataProvider' => new \yii\data\ActiveDataProvider([
从 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