如何排除数据提供程序中的前2个元素并按每3个获得其他元素?
1 2 3 4 5 6 7 8 9 0 10 12 13 14
x x | | | | |
我需要这些结果
3 4 5
6 7 8
9 0 10
12 13 14
您可以从现有数据提供程序中检索所有模型,然后使用PHP根据需要过滤项,然后使用ArrayDataProvider从这些项中创建新的数据提供程序。
例如:// Some prepared data provider
$dataProvider = $searchModel->search(Yii::$app->request->getQueryParams());
$dataProvider->query
->orderBy(['created_at' => SORT_DESC]);
// Retrieving all models
$allModels = $dataProvider->getModels();
// Some manipulations with $allModels array
// ...
// Preparing new data provider from modified array of models
$dataProvider = new ArrayDataProvider();
$dataProvider->allModels = $allModels;
$dataProvider->key = 'id';
$dataProvider->pagination->setPageSize($maxRows);