【问题标题】:Yii2 how to create a dataProvider dynamicallyYii2如何动态创建dataProvider
【发布时间】:2021-02-18 05:17:17
【问题描述】:

我有两个类似下面的模型

$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);

但这不是正确的方法。我怎样才能做到这一点。提前谢谢

【问题讨论】:

    标签: yii2 dataprovider


    【解决方案1】:

    对于这种情况,您想使用\yii\data\ArrayDataProvider 而不是\yii\data\ActiveDataProvider

    您可以在创建实例时将数组中的模型传递给allModels 属性。

    $dataProvider = new \yii\data\ArrayDataProvider([
        'allModels' => [
            $analytics,
            $analyticsKsa,
        ]
    ]);
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      相关资源
      最近更新 更多