PHP 클래스 yii\data\SqlDataProvider
SqlDataProvider provides data in terms of arrays, each representing a row of query result.
Like other data providers, SqlDataProvider also supports sorting and pagination.
It does so by modifying the given [[sql]] statement with "ORDER BY" and "LIMIT"
clauses. You may configure the [[sort]] and [[pagination]] properties to
customize sorting and pagination behaviors.
SqlDataProvider may be used in the following way:
php
$count = Yii::$app->db->createCommand('
SELECT COUNT(*) FROM user WHERE status=:status
', [':status' => 1])->queryScalar();
$dataProvider = new SqlDataProvider([
'sql' => 'SELECT * FROM user WHERE status=:status',
'params' => [':status' => 1],
'totalCount' => $count,
'sort' => [
'attributes' => [
'age',
'name' => [
'asc' => ['first_name' => SORT_ASC, 'last_name' => SORT_ASC],
'desc' => ['first_name' => SORT_DESC, 'last_name' => SORT_DESC],
'default' => SORT_DESC,
'label' => 'Name',
],
],
],
'pagination' => [
'pageSize' => 20,
],
]);
get the user records in the current page
$models = $dataProvider->getModels();
Note: if you want to use the pagination feature, you must configure the [[totalCount]] property
to be the total number of rows (without pagination). And 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 SqlDataProvider, see the
guide article on data providers.
파일 보기
프로젝트 열기: yiisoft/yii2
1 사용 예제들
공개 프로퍼티들
프로퍼티 |
타입 |
설명 |
|
$db |
|
the DB connection object or the application component ID of the DB connection.
Starting from version 2.0.2, this can also be a configuration array for creating the object. |
|
$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 keys of the [[models]] array will be used. |
|
$params |
|
parameters (name=>value) to be bound to the SQL statement. |
|
$sql |
|
the SQL statement to be used for fetching data rows. |
|
공개 메소드들
메소드 |
설명 |
|
init ( ) |
Initializes the DB connection component. |
|
보호된 메소드들
메소드 상세
This method will initialize the [[db]] property to make sure it refers to a valid DB connection.
prepareTotalCount()
보호된 메소드
프로퍼티 상세
the DB connection object or the application component ID of the DB connection.
Starting from version 2.0.2, this can also be a configuration array for creating the object.
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 keys of the [[models]] array will be used.
parameters (name=>value) to be bound to the SQL statement.
the SQL statement to be used for fetching data rows.