PHP Class 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.
Afficher le fichier
Open project: yiisoft/yii2
Class Usage Examples
Méthodes publiques
Свойство |
Type |
Description |
|
$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. |
|
Méthodes protégées
Method Details
prepareKeys()
protected méthode
prepareModels()
protected méthode
prepareTotalCount()
protected méthode
sortModels()
protected méthode
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 |
Résultat |
array |
the sorted data models |
Property Details
$allModels public_oe property
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 public_oe property
the name of the [[\yii\base\Model|Model]] class that will be represented.
This property is used to get columns' names.