【发布时间】:2020-05-16 01:22:43
【问题描述】:
我在yii2模型中有如下关系:
public function getJobInfos()
{
return $this->hasMany(JobInfo::className(), ['ID' => 'ID']);
}
Tbl JobInfo:
CREATE TABLE [dbo].[JobInfo](
[ID] [uniqueidentifier] ROWGUIDCOL NOT NULL,
[Parameter] [int] NULL,
[Value] [varchar](255) NULL,
....
GridView 中对 JobInfo 的访问有效:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'ID',
[
'label' => 'Strings',
'value' => function ($data) {
$strings = [];
foreach($data->jobInfos as $JobInfo) {
$strings[] = $JobInfo->Value;
}
return implode(',', $strings);
},
],
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
现在来自 JobInfo 的所有内容都加载到字符串列中。
现在如何为集合选择新列: $JobInfo->Parameter(标签)和$JobInfo->Value(值)? 比如参数是“OrderNo”?
很遗憾,使用 Foreach 创建列不起作用。
谢谢!
【问题讨论】:
标签: yii2