@VitaliyKaliuzhyn

Как задать свои параметры ActiveDataProvider?

Добрый день. Вопрос такого плана, вывожу таблицу но вывод таблицы мне нужен не всей надо отсеять первую запись.
Если в yii\data\ActiveDataProvider в методе prepareModels поменять значение offset, то все работает, но менять сам yii класс не айс, создал свой унаследовался меняю offset, а ничего не происходит. Как мне задать offset?

Сам метод
protected function prepareModels()
    {
        if (!$this->query instanceof QueryInterface) {
            throw new InvalidConfigException('The "query" property must be an instance of a class that implements the QueryInterface e.g. yii\db\Query or its subclasses.');
        }
        $query = clone $this->query;
        if (($pagination = $this->getPagination()) !== false) {
            $pagination->totalCount = $this->getTotalCount();
            $query->limit($pagination->getLimit())->offset($pagination->getOffset());
        }
        if (($sort = $this->getSort()) !== false) {
            $query->addOrderBy($sort->getOrders());
        }

        return $query->all($this->db);
    }

Или может есть вариант задать offset как то во вьюхе где выводится таблица
  • Вопрос задан
  • 502 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Quieteroks
php программист
А не проще исключить первую запись путем запроса?
Вы же передаете в провайдер список моделей (Model::find()), так что вам мешает убрать из списка моделей свою первую запись в фильтрах самого поиска еще до передачи на вывод?
Ответ написан
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
может есть вариант задать offset как то во вьюхе где выводится таблица

$models = Mymodel::find()->all();
unset($models[0]);

Но у Вас фигурирует пагинация, что делает непонятным вопрос, как пагинация и первая запись связаны?
Опишите подробнее задачу.
Ответ написан
@ukoHka
Всего понемногу
А почему не используете $dataProvider->query->offset(1); в контроллере?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы