Spec-Zone.ru › Yii 2.0

Класс yii\data\ArrayDataProvider

Все классы | Свойства | Методы
Наследование yii\data\ArrayDataProvider » yii\data\BaseDataProvider » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable, yii\data\DataProviderInterface
Подклассы yii\debug\models\timeline\DataProvider
Доступен с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/data/ArrayDataProvider.php

ArrayDataProvider реализует поставщик данных на основе массива данных.

Свойство $allModels содержит все модели данных, которые могут быть отсортированы и/или постраничены. ArrayDataProvider предоставит данные после сортировки и/или постраничной навигации. Вы можете настроить свойства $sort и $pagination для настройки поведения сортировки и постраничной навигации.

Элементы в массиве $allModels могут быть либо объектами (например, объектами модели), либо ассоциативными массивами (например, результатами запроса DAO). Убедитесь, что вы установили свойство $key в имя поля, которое однозначно идентифицирует запись данных, или в false, если у вас нет такого поля.

По сравнению с yii\data\ActiveDataProvider, ArrayDataProvider может быть менее эффективным, потому что ему необходимо иметь $allModels готовым.

ArrayDataProvider может использоваться следующим образом:

$query = new Query;
$provider = new ArrayDataProvider([
    'allModels' => $query->from('post')->all(),
    'sort' => [
        'attributes' => ['id', 'username', 'email'],
    ],
    'pagination' => [
        'pageSize' => 10,
    ],
]);
// get the posts in the current page
$posts = $provider->getModels();

Примечание: если вы хотите использовать функцию сортировки, вы должны настроить свойство $sort таким образом, чтобы поставщик знал, какие столбцы можно сортировать.

Дополнительную информацию и примеры использования ArrayDataProvider см. в статье руководства о поставщиках данных.

Публичные свойства

Свойство Тип Описание Определено в
$allModels массив Данные, которые не постраничены и не отсортированы. yii\data\ArrayDataProvider
$behaviors yii\base\Behavior[] Список присоединенных к этому компоненту поведений yii\base\Component
$count целое число Количество моделей данных на текущей странице. yii\data\BaseDataProvider
$id строка Идентификатор, который однозначно идентифицирует поставщик данных среди всех поставщиков данных. yii\data\BaseDataProvider
$key строка|вызываемый Столбец, используемый в качестве ключа моделей данных. yii\data\ArrayDataProvider
$keys массив Список значений ключей, соответствующих $models. yii\data\BaseDataProvider
$modelClass строка Имя класса Model, который будет представлен. yii\data\ArrayDataProvider
$models массив Список моделей данных на текущей странице. yii\data\BaseDataProvider
$pagination yii\data\Pagination|false Объект постраничной навигации. yii\data\BaseDataProvider
$sort yii\data\Sort|boolean Объект сортировки. yii\data\BaseDataProvider
$totalCount целое число Общее количество возможных моделей данных. yii\data\BaseDataProvider

Публичные методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Object
__clone() Этот метод вызывается после создания объекта путем клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в null. yii\base\Object
attachBehavior() Присоединяет поведение к этому компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
behaviors() Возвращает список поведений, по которым должен вести себя этот компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли считать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
getBehavior() Возвращает объект именованного поведения. yii\base\Component
getBehaviors() Возвращает все присоединённые к этому компоненту поведения. yii\base\Component
getCount() Возвращает количество моделей данных на текущей странице. yii\data\BaseDataProvider
getKeys() Возвращает значения ключей, связанные с моделями данных. yii\data\BaseDataProvider
getModels() Возвращает модели данных на текущей странице. yii\data\BaseDataProvider
getPagination() Возвращает объект постраничной навигации, используемый этим поставщиком данных. yii\data\BaseDataProvider
getSort() Возвращает объект сортировки, используемый этим поставщиком данных. yii\data\BaseDataProvider
getTotalCount() Возвращает общее количество моделей данных. yii\data\BaseDataProvider
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчик, присоединенный к указанному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определен ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует объект. yii\data\BaseDataProvider
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
prepare() Подготавливает модели данных и ключи. yii\data\BaseDataProvider
refresh() Обновляет поставщик данных. yii\data\BaseDataProvider
setKeys() Устанавливает значения ключей, связанные с моделями данных. yii\data\BaseDataProvider
setModels() Устанавливает модели данных на текущей странице. yii\data\BaseDataProvider
setPagination() Устанавливает постраничную навигацию для этого поставщика данных. yii\data\BaseDataProvider
setSort() Устанавливает определение сортировки для этого поставщика данных. yii\data\BaseDataProvider
setTotalCount() Устанавливает общее количество моделей данных. yii\data\BaseDataProvider
trigger() Вызывает событие. yii\base\Component

Защищённые методы

Метод Описание Определено в
prepareKeys() Подготавливает ключи, связанные с текущими доступными моделями данных. yii\data\ArrayDataProvider
prepareModels() Подготавливает модели данных, которые будут доступны на текущей странице. yii\data\ArrayDataProvider
prepareTotalCount() Возвращает значение, указывающее общее количество моделей данных в этом поставщике данных. yii\data\ArrayDataProvider
sortModels() Сортирует модели данных в соответствии с заданным определением сортировки. yii\data\ArrayDataProvider

Подробное описание свойств

$allModels общественное свойство

Данные, которые не постраничены и не отсортированы. При включении постраничной навигации это свойство обычно содержит больше элементов, чем $models. Элементы массива должны использовать целочисленные ключи, начинающиеся с нуля.

public array $allModels = null

$key общественное свойство

Столбец, используемый в качестве ключа моделей данных. Это может быть имя столбца или вызываемый объект, возвращающий значение ключа заданной модели данных. Если это не установлено, используется индекс массива $models.

См. также getKeys().

public string|callable $key = null

$modelClass общественное свойство (доступно начиная с версии 2.0.9)

Имя класса Model, который будет представлен. Это свойство используется для получения имён столбцов.

public string $modelClass = null

Подробное описание методов

prepareKeys() защищённый метод

Подготавливает ключи, связанные с текущими доступными моделями данных.

защищённый массив prepareKeys ( $models )
$models массив

Доступные модели данных

return массив

Ключи

prepareModels() защищённый метод

Подготавливает модели данных, которые будут доступны на текущей странице.

защищённый массив prepareModels ( )
return массив

Доступные модели данных

prepareTotalCount() защищённый метод

Возвращает значение, указывающее общее количество моделей данных в этом поставщике данных.

защищённый целое число prepareTotalCount ( )
return целое число

Общее количество моделей данных в этом поставщике данных.

sortModels() защищённый метод

Сортирует модели данных в соответствии с заданным определением сортировки

защищённый массив sortModels ( $models, $sort )
$models массив

Сортируемые модели

$sort yii\data\Sort

Определение сортировки

return массив

Отсортированные модели данных

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-data-arraydataprovider.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API