我有一个GridView
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
'team2.name',
[
'header' => 'Players name',
'format' => 'raw',
'value'=>function ($model) {
return implode('', ArrayHelper::getColumn($model->playerLastnames, 'lastname'));
},
],
],
]); ?>
这是有效的,我在第一栏有球队的名字,在第二栏有球员的名字。 问题是如何以这种格式制作一列: 球队的名字(球员姓名)
答案 0 :(得分:2)
假设团队名称在模型中为your_team_name
你可以使用匿名函数来连接两个
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
[
'header' => 'Team and Players name',
'format' => 'raw',
'value'=>function ($model) {
return $model->your_team_name . ' ' . implode('', ArrayHelper::getColumn($model->playerLastnames, 'lastname'));
},
],
],
]); ?>