我的控制器中有一个SQL查询。结果有两个字段:id_person
和name_person
。然后,我使用ArrayDataProvider
在GridView
中显示结果:
return new ArrayDataProvider([
'allModels' => Yii::$app->getDb()->createCommand($mySql)->queryAll()
]);
但是更新按钮的ID不是id_person
。它具有自动生成的ID。
因此,我有一个数据提供者,其字段为:id
,id_person
和name_person
。我需要将id
替换为id_person
。
我可以在“更新”按钮的作用下在视图文件中对其进行解析,但最好在控制器中进行解析。
我检查了API Documentation for Yii 2.0,但这对我没有帮助。
答案 0 :(得分:1)
您应该配置ArrayDataProvider::$key
属性以指定具有记录ID的列:
return new ArrayDataProvider([
'allModels' => Yii::$app->getDb()->createCommand($mySql)->queryAll(),
'key' => 'id_person',
]);