Yii2 htmlspecialchars()要求参数1为字符串,对象为给定值

Yii2 htmlspecialchars()要求参数1为字符串,对象为给定值,yii,yii2,Yii,Yii2,我使用的是DetailView小部件,我试图将自定义函数编写为值,但我一直遇到以下错误: htmlspecialchars() expects parameter 1 to be string, object given 代码如下: [ 'label' => 'Keys', 'value' => function($model, $key, $inde){ if(!empty(

我使用的是DetailView小部件,我试图将自定义函数编写为值,但我一直遇到以下错误:

htmlspecialchars() expects parameter 1 to be string, object given
代码如下:

[
                'label' => 'Keys',
                'value' => function($model, $key, $inde){

                    if(!empty($model->keys))
                        return '<strong>User don\'t have any key at the moment.</strong>';

                    $keys = '';
                    foreach($model->keys as $key):

                        $keys .= '<strong>' . $key->key . '</strong>';

                    endforeach;

                    return $keys;

                }
            ],
[
“标签”=>“键”,
“值”=>函数($model、$key、$inde){
如果(!空($model->keys))
返回“用户目前没有任何密钥。”;
$keys='';
foreach($model->keys as$key):
$keys.='。$key->key.';
endforeach;
返回$keys;
}
],

我做错了什么?

在DetailView
value
中,不要接受匿名函数(不同地尊重grdiView)。。在这种情况下,可以通过调用普通函数来设置相关值。。请记住,在DetailView中,您直接使用$model,而不是$dataProvider内容

然后你可以使用一个函数

function myFunction($model, $key, $inde){

                if(!empty($model->keys))
                    return '<strong>User don\'t have any key at the moment.</strong>';

                $keys = '';
                foreach($model->keys as $key):

                    $keys .= '<strong>' . $key->key . '</strong>';

                endforeach;

                return $keys;
   }

在DetailView
value
中,不接受匿名函数(不同地尊重grdiView)。。在这种情况下,可以通过调用普通函数来设置相关值。。请记住,在DetailView中,您直接使用$model,而不是$dataProvider内容

然后你可以使用一个函数

function myFunction($model, $key, $inde){

                if(!empty($model->keys))
                    return '<strong>User don\'t have any key at the moment.</strong>';

                $keys = '';
                foreach($model->keys as $key):

                    $keys .= '<strong>' . $key->key . '</strong>';

                endforeach;

                return $keys;
   }

添加
“格式”=>“html”

[
            'label' => 'Keys',
            'format' => 'html',
            'value' => function($model, $key, $inde){

                if(!empty($model->keys))
                    return '<strong>User don\'t have any key at the moment.</strong>';

                $keys = '';
                foreach($model->keys as $key):

                    $keys .= '<strong>' . $key->key . '</strong>';

                endforeach;

                return $keys;

            }
],
[
“标签”=>“键”,
'格式'=>'html',
“值”=>函数($model、$key、$inde){
如果(!空($model->keys))
返回“用户目前没有任何密钥。”;
$keys='';
foreach($model->keys as$key):
$keys.='。$key->key.';
endforeach;
返回$keys;
}
],

添加
'format'=>'html'

[
            'label' => 'Keys',
            'format' => 'html',
            'value' => function($model, $key, $inde){

                if(!empty($model->keys))
                    return '<strong>User don\'t have any key at the moment.</strong>';

                $keys = '';
                foreach($model->keys as $key):

                    $keys .= '<strong>' . $key->key . '</strong>';

                endforeach;

                return $keys;

            }
],
[
“标签”=>“键”,
'格式'=>'html',
“值”=>函数($model、$key、$inde){
如果(!空($model->keys))
返回“用户目前没有任何密钥。”;
$keys='';
foreach($model->keys as$key):
$keys.='。$key->key.';
endforeach;
返回$keys;
}
],

如果将
'format'=>'raw'
添加到数组中会发生什么?如果将
'format'=>'raw'
添加到数组中会发生什么?