yii2 DETAILS VIEW" htmlspecialchars()期望参数1为字符串

时间:2017-06-02 08:37:26

标签: yii2

这是我在详细信息视图中的视图文件

                 [
                   'label'=>'Unit ID',
                    'value'=>function($model){
                            $data = json_decode($model->unit_id);
                              $number = count($data);

                              for($i=0; $i<$number; $i++){
                                return  substr(implode(", ", $data), 0);
                                        }
                          }
                 ],

但它一直给我错误htmlspecialchars() expects parameter 1 to be string

然后我尝试将其称为我在模型文件中创建的函数

 public function unit($model)
    {
         $data = json_decode($model->unit_id);
                 $number = count($data);

                 for($i=0; $i<$number; $i++){
             return  substr(implode(", ", $data), 0);
                 }
    }

然后是我的视图文件

[
         'label'=>'Unit Id',
          'value'=>unit($model),
 ],

但我收到错误call to undefined function

任何人都可以提供帮助?感谢

2 个答案:

答案 0 :(得分:0)

我解决了。这是使用调用函数方法的解决方案。

function unit($model)
    {
         $data = json_decode($model->unit_id);
                 $number = count($data);

                 for($i=0; $i<$number; $i++){
             return  substr(implode(", ", $data), 0);
                 }
    }

在视图文件

[
         'label'=>'Unit Id',
          'value'=>$model->unit($model),
 ],

答案 1 :(得分:0)

检查你的Yii2版本,可能你有&lt; 2.0.11,因为版本2.0.11可以提供value作为闭包。 Proof here