猿问

如何修改 Yii2 createCommand() 函数生成的结果

我的控制器中有一个 SQL 查询。结果有两个字段:id_person和name_person。然后我用来ArrayDataProvider在 a 中显示结果GridView:


return new ArrayDataProvider([

    'allModels' => Yii::$app->getDb()->createCommand($mySql)->queryAll()

]);

但是更新按钮的 id不是id_person. 它有一个自动生成的 id。


所以我有一个包含以下字段的数据提供者:id,id_person和name_person。我需要替换id为id_person.


我可以在更新按钮的操作下在我的视图文件中解决它,但最好在我的控制器中解决它。


我检查了Yii 2.0的API 文档,但它对我没有帮助。


侃侃尔雅
浏览 249回答 1
1回答

宝慕林4294392

您应该配置ArrayDataProvider::$key属性以指定具有记录 ID 的列:return new ArrayDataProvider([    'allModels' => Yii::$app->getDb()->createCommand($mySql)->queryAll(),    'key' => 'id_person',]);
随时随地看视频慕课网APP
我要回答