问题描述
我有以下两种型号
$analytics=new CountryAnalytics();
$analytics->country="United arab Emirates";
$analytics->totalAds=$uaeAds;
$analytics->totalUsers=$uaeUsers;
$analyticsKsa=new CountryAnalytics();
$analyticsKsa->country="United arab Emirates";
$analyticsKsa->totalAds=$uaeAds;
$analyticsKsa->totalUsers=$uaeUsers;
$ analtics和$ analyticsKsa。它们是动态构建的。因此,我关心的是将这些模型添加到一个空的数据提供程序中,如下所示
$dataProvider = new ActiveDataProvider();
$dataProvider->setData($analytics);
$dataProvider->setData($analyticsKsa);
但这不是正确的方法。我该如何实现。提前感谢
解决方法
对于这种情况,您想使用\yii\data\ArrayDataProvider
而不是\yii\data\ActiveDataProvider
创建实例时,可以将数组中的模型传递给allModels
属性。
$dataProvider = new \yii\data\ArrayDataProvider([
'allModels' => [
$analytics,$analyticsKsa,]
]);