nskarl
@nskarl
Вообще дизайнер

Ошибка dataProvider pagination или особенность?

Привет всем!
Есть у меня банальный SqlDataProvider

из модели возвращается new SqlDataProvider([ .. ]);

так вот интересная особенность или баг:
если сделать вот так:

$data['items'] = Catalogs::catalogItems($data['category']['catalog_code'])->getModels();
$data['pagination'] = Catalogs::catalogItems($data['category']['catalog_code'])->getPagination();


то все ок, пагинация отображается \ работает
запрос возвращает
_pagination:yii\data\BaseDataProvider:private] => yii\data\Pagination Object
        (
            [totalCount] => 632
        )


а если же сделать так:
$items = Catalogs::catalogItems($data['category']['catalog_code']);
$data['items'] = $items->getModels();
$data['pagination'] = $items->getPagination();


то пагинация исчезает =) причем массив с данными на месте и данные отобразятся
запрос же возвращает
_pagination:yii\data\BaseDataProvider:private] => yii\data\Pagination Object
        (
            [totalCount] => 0
        )


так и должно быть и я что-то делаю не так?

кстати если сделать вот так:
$items = Catalogs::catalogItems($data['category']['catalog_code']);
$data['items'] = [];
$data['pagination'] = $items->getPagination();

т.е. не брать массив из значения, которое вернулось, то тоже все ок, тоталКаунт будет 632 =)
  • Вопрос задан
  • 139 просмотров
Решения вопроса 1
nskarl
@nskarl Автор вопроса
Вообще дизайнер
Разобрался сам.
'totalCount' => $count нужно добавить не только в pagination' => [] , но и увронем выше.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы