PHP Класс yii\data\ArrayDataProvider
The [[allModels]] property contains all data models that may be sorted and/or paginated.
ArrayDataProvider will provide the data after sorting and/or pagination.
You may configure the [[sort]] and [[pagination]] properties to
customize the sorting and pagination behaviors.
Elements in the [[allModels]] array may be either objects (e.g. model objects)
or associative arrays (e.g. query results of DAO).
Make sure to set the [[key]] property to the name of the field that uniquely
identifies a data record or false if you do not have such a field.
Compared to
ActiveDataProvider, ArrayDataProvider could be less efficient
because it needs to have [[allModels]] ready.
ArrayDataProvider may be used in the following way:
php
$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();
Note: if you want to use the sorting feature, you must configure the [[sort]] property
so that the provider knows which columns can be sorted.
For more details and usage information on ArrayDataProvider, see the
guide article on data providers.
Показать файл
Открыть проект
Примеры использования класса
Открытые свойства
Свойство |
Тип |
Описание |
|
$allModels |
|
the data that is not paginated or sorted. When pagination is enabled,
this property usually contains more elements than [[models]].
The array elements must use zero-based integer keys. |
|
$key |
|
the column that is used as the key of the data models.
This can be either a column name, or a callable that returns the key value of a given data model.
If this is not set, the index of the [[models]] array will be used. |
|
$modelClass |
|
the name of the [[\yii\base\Model|Model]] class that will be represented.
This property is used to get columns' names. |
|
Защищенные методы
Описание методов
prepareKeys()
защищенный Метод
prepareModels()
защищенный Метод
prepareTotalCount()
защищенный Метод
sortModels()
защищенный Метод
Sorts the data models according to the given sort definition
protected sortModels ( array $models, Sort $sort ) : array |
$models |
array |
the models to be sorted |
$sort |
Sort |
the sort definition |
Результат |
array |
the sorted data models |
Описание свойств
$allModels публичное свойство
the data that is not paginated or sorted. When pagination is enabled,
this property usually contains more elements than [[models]].
The array elements must use zero-based integer keys.
the column that is used as the key of the data models.
This can be either a column name, or a callable that returns the key value of a given data model.
If this is not set, the index of the [[models]] array will be used.
$modelClass публичное свойство
the name of the [[\yii\base\Model|Model]] class that will be represented.
This property is used to get columns' names.