Поставщик данных Yii2 - исключить первые 2 элемента

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

person aewawc4453    schedule 29.08.2016    source источник
comment
ваш вопрос не понятен .. поясните лучше пожалуйста   -  person scaisEdge    schedule 29.08.2016


Ответы (1)


Вы можете получить все модели из существующего поставщика данных, затем отфильтровать элементы с помощью 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);
person IStranger    schedule 29.08.2016