YII2 Установить смещение на ArrayDataProvider для Gridview - PullRequest
0 голосов
/ 25 сентября 2018

, если я зафиксировал 10 данных в массиве, установил размер страницы на 10 и установил totalcount на 50 (5 страниц).Проблема в том, что я не могу показать свои данные (пусто), когда я нахожусь на странице 2, на которой я загружаю только 10 данных, поэтому я должен загрузить 20 данных для отображения строк на странице 2.

Вот мой код: Контроллер

public function actionIndex()
{
    $searchModel = new SampleSearch();

    $data = \Sample\Api::get('https://example.com/get-data?page=2');
    /**
     * $data
     * {
     * "totalCount": 50,
     * "data": [
     *     {
     *         "_id": 11,
     *         "name": "Baron"
     *     },
     *     {
     *         "_id": 12,
     *         "name": "John Doe"
     *     },
     *     {
     *         "_id": 13,
     *         "name": "Michael Scofield"
     *     },
     *     {
     *         "_id": 14,
     *         "name": "Wentworth Miller"
     *     },
     *     {
     *         "_id": 15,
     *         "name": "Valentino Rossi"
     *     },
     *     {
     *         "_id": 16,
     *         "name": "Marc Marquez"
     *     },
     *     {
     *         "_id": 17,
     *         "name": "David De Gea"
     *     },
     *     {
     *         "_id": 18,
     *         "name": "Roronoa Zoro"
     *     },
     *     {
     *         "_id": 19,
     *         "name": "Mohamed Salah"
     *     },
     *     {
     *         "_id": 20,
     *         "name": "Shadow"
     *     }
     * ]
     * }
     */

    $dataProvider = new ArrayDataProvider([
        'allModels' => $data->data,
        'pagination' => [
            'pageSize' => 10,
            'page' => isset($_GET['page']) ? ((int)$_GET['page'] - 1) : 0,
        ],
        'sort' => [
            'attributes' => ['_id'],
        ],
        'totalCount' => $data->totalCount,
    ]);

    return $this->render('index', [
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
    ]);
}

Как загрузить страницу 2 только с 10 данными?

Спасибо заранее извините за мой английский

...