Как я могу исключить первые 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
Как я могу исключить первые 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);