flaviovs / yii2-composite-dataprovider
Yii2 的组合数据提供程序
1.0.0-beta2
2024-01-30 23:45 UTC
Requires
- php: >=8.2.0
Requires (Dev)
- codeception/codeception: ^5.0
- codeception/module-asserts: ^3.0
- codeception/module-yii2: ^1.1
- yiisoft/yii2: ^2.0
This package is auto-updated.
Last update: 2024-08-30 01:20:14 UTC
README
组合数据提供程序(CDP)是yii\data\DataProviderInterface的一个实现,它允许你将多个标准 Yii2 数据提供程序组合在一起,就像它们是一个一样。
CDP 负责对源数据提供程序进行适当的分页,因此你可以对它们使用任何组合的分页(或无分页)-- CDP 将始终使用组合分页配置(如果有)进行分页。
安装
composer require flaviovs/yii2-composite-dataprovider
使用
$cdp = new \fv\yii\data\CompositeDataProvider([ 'dataProviders' => [ // A \yii\data\DataProviderInterface instance. $data_provider1, // Object configuration is also supported. [ 'class' => \yii\data\ActiveDataProvider::class, 'query' => $my_model->find(); ], ], ]);
CDP 也接受一个 pagination
属性,其工作方式与常规 Yii2 数据提供程序相同。
此外,你可以使用 addDataProvider($value)
向 CDP 添加新的数据提供程序。
重要
-
CDP 不能进行排序。当然,源数据提供程序可以正常排序。
-
CDP 返回的模型和键直接来自源数据提供程序。这意味着你的数据提供程序消费者(例如,
GridView
列配置)必须准备好处理不同类型的模型,以防源数据提供程序返回不同的模型。