与我的问题相关,我在互联网上搜索了很多,但没有找到我的问题的答案。
我尝试在yii2中的gridview中完成一个简单的任务,详情如下。
<?=
GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
'Name',
'Email:email',
'Phone',
'Age',
[
'class' => yii\grid\DataColumn::className(),
'label' =>'Custom',
'attribute' => 'cusId',
'format'=>'html',
'value' => function ($model) {
return Html::a($model->cus->Key, ['customobj/view', 'id' => $model->cusId],['class' => 'btn btn-success']);
},
'filter' => yii\helpers\ArrayHelper::map(app\models\Customobj::find()->all(), 'Id', 'Key')
],
['class' => 'yii\grid\ActionColumn'],
],
]);
?>
上面的代码工作正常。现在我想在下面的相关模型中制作标签动态。
[
'class' => yii\grid\DataColumn::className(),
'label' =>'Custom',
'attribute' => 'cusId',
'format'=>'html',
'value' => function ($model) {
return Html::a($model->cus->Key, ['customobj/view', 'id' => $model->cusId],['class' => 'btn btn-success']);
},
'filter' => yii\helpers\ArrayHelper::map(app\models\Customobj::find()->all(), 'Id', 'Key')
],
我试过下面的代码,但它给出了
块引用 htmlspecialchars()期望参数1是字符串,给定对象 块引用
[
'class' => yii\grid\DataColumn::className(),
'label' => function ($model) {
return $model->cus->Key;
},
'attribute' => 'cusId',
'format'=>'html',
'value' => function ($model) {
return Html::a($model->cus->Key, ['customobj/view', 'id' => $model->cusId],['class' => 'btn btn-success']);
},
'filter' => yii\helpers\ArrayHelper::map(app\models\Customobj::find()->all(), 'Id', 'Key')
],
我正在使用yii2版本。 任何帮助将受到高度赞赏
答案 0 :(得分:2)
尝试使用标题
$varHeader = yourFuntion();
[
'class' => yii\grid\DataColumn::className(),
'header' => $varHeader ,
'attribute' => 'cusId',
'format'=>'html',
'value' => function ($model) {
return Html::a($model->cus->Key, ['customobj/view', 'id' => $model->cusId],['class' => 'btn btn-success']);
},
'filter' => yii\helpers\ArrayHelper::map(app\models\Customobj::find()->all(), 'Id', 'Key')
],