Класс yii\data\ActiveDataProvider
| Наследование | yii\data\ActiveDataProvider » yii\data\BaseDataProvider » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\data\DataProviderInterface |
| Подклассы | yii\elasticsearch\ActiveDataProvider, yii\sphinx\ActiveDataProvider |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/data/ActiveDataProvider.php |
ActiveDataProvider реализует поставщик данных на основе yii\db\Query и yii\db\ActiveQuery.
ActiveDataProvider предоставляет данные, выполняя запросы к БД с использованием $query.
Следующий пример демонстрирует использование ActiveDataProvider для предоставления экземпляров ActiveRecord:
$provider = new ActiveDataProvider([
'query' => Post::find(),
'pagination' => [
'pageSize' => 20,
],
]);
// get the posts in the current page
$posts = $provider->getModels();
А следующий пример показывает, как использовать ActiveDataProvider без ActiveRecord:
$query = new Query();
$provider = new ActiveDataProvider([
'query' => $query->from('post'),
'pagination' => [
'pageSize' => 20,
],
]);
// get the posts in the current page
$posts = $provider->getModels();
Для получения более подробной информации и руководства по использованию ActiveDataProvider, см. статью в руководстве о поставщиках данных.
Общедоступные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список присоединенных к этому компоненту поведений | yii\base\Component |
| $count | integer | Количество моделей данных на текущей странице. | yii\data\BaseDataProvider |
| $db | yii\db\Connection|array|string | Объект подключения к БД или идентификатор компонента приложения для подключения к БД. | yii\data\ActiveDataProvider |
| $id | string | Идентификатор, уникально определяющий поставщик данных среди всех поставщиков данных. | yii\data\BaseDataProvider |
| $key | string|callable | Столбец, используемый в качестве ключа моделей данных. | yii\data\ActiveDataProvider |
| $keys | array | Список значений ключей, соответствующих $models. | yii\data\BaseDataProvider |
| $models | array | Список моделей данных на текущей странице. | yii\data\BaseDataProvider |
| $pagination | yii\data\Pagination|false | Объект пагинации. | yii\data\BaseDataProvider |
| $query | yii\db\QueryInterface | Запрос, используемый для извлечения моделей данных и $totalCount, если он не установлен явно. | yii\data\ActiveDataProvider |
| $sort | yii\data\Sort|boolean | Объект сортировки. | yii\data\BaseDataProvider |
| $totalCount | integer | Общее количество возможных моделей данных. | 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\ActiveDataProvider |
| 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\ActiveDataProvider |
| setTotalCount() | Устанавливает общее количество моделей данных. | yii\data\BaseDataProvider |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| prepareKeys() | Подготавливает ключи, связанные с текущими доступными моделями данных. | yii\data\ActiveDataProvider |
| prepareModels() | Подготавливает модели данных, которые будут доступны на текущей странице. | yii\data\ActiveDataProvider |
| prepareTotalCount() | Возвращает значение, указывающее общее количество моделей данных в этом поставщике данных. | yii\data\ActiveDataProvider |
Подробное описание свойств
$db общедоступное свойство
Объект подключения к БД или идентификатор приложения компонента подключения к БД. Если не задан, используется стандартное подключение к БД. Начиная с версии 2.0.2, это также может быть массив конфигурации для создания объекта.
public yii\db\Connection|array|string $db = null
$key общедоступное свойство
Столбец, используемый в качестве ключа моделей данных. Это может быть имя столбца или вызываемый объект, возвращающий значение ключа заданной модели данных.
Если это свойство не задано, будут использоваться следующие правила для определения ключей моделей данных:
- Если $query является экземпляром yii\db\ActiveQuery, будут использованы первичные ключи yii\db\ActiveQuery::$modelClass.
- В противном случае будут использованы ключи массива $models.
См. также getKeys().
public string|callable $key = null
$query общедоступное свойство
Запрос, используемый для извлечения моделей данных и $totalCount, если он не задан явно.
public yii\db\QueryInterface $query = null
Подробное описание методов
init() public method
Инициализирует компонент подключения к БД.
Этот метод инициализирует свойство $db, чтобы убедиться, что оно ссылается на валидное подключение к БД.
| public void init ( ) | ||
|---|---|---|
| throws | yii\base\InvalidConfigException |
если $db невалиден. |
prepareKeys() protected method
Подготавливает ключи, связанные с текущими доступными моделями данных.
| protected array prepareKeys ( $models ) | ||
|---|---|---|
| $models | array |
Доступные модели данных |
| return | array |
Ключи |
prepareModels() protected method
Подготавливает модели данных, которые будут доступны на текущей странице.
| protected array prepareModels ( ) | ||
|---|---|---|
| return | array |
Доступные модели данных |
prepareTotalCount() protected method
Возвращает значение, указывающее общее количество моделей данных в этом поставщике данных.
| protected integer prepareTotalCount ( ) | ||
|---|---|---|
| return | integer |
Общее количество моделей данных в этом поставщике данных. |
setSort() public method
Устанавливает определение сортировки для этого поставщика данных.
| public void setSort ( $value ) | ||
|---|---|---|
| $value | array|yii\data\Sort|boolean |
Определение сортировки, которое должно использоваться этим поставщиком данных. Это может быть одно из следующих:
|
| throws | yii\base\InvalidParamException | |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-data-activedataprovider.html