本文实例讲述了Yii2中SqlDataProvider用法。分享给大家供大家参考,具体如下:第一种方法:$t
本文实例讲述了Yii2中SqlDataProvider用法。分享给大家供大家参考,具体如下:
第一种方法:
$totalCount = Yii::$app->db->createCommand('SELECT COUNT(*) FROM posts WHERE publish=:publish', [':publish' => 1])
->queryScalar();
$dataProvider = new SqlDataProvider([
'sql' => 'SELECT * FROM posts WHERE publish=:publish',
'params' => [':publish' => 1],
'totalCount' => $totalCount,
//'sort' =>false, to remove the table header sorting
'sort' => [
'attributes' => [
'title' => [
'asc' => ['title' => SORT_ASC],
'desc' => ['title' => SORT_DESC],
'default' => SORT_DESC,
'label' => 'Post Title',
],
'author' => [
'asc' => ['author' => SORT_ASC],
'desc' => ['author' => SORT_DESC],
'default' => SORT_DESC,
'label' => 'Name',
],
'created_on'
],
],
'pagination' => [
'pageSize' => 10,
],
]);
return $dataProvider;
第二种:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'label' =>"Name",
'attribute' => 'tbl_column_name',
'value'=>function($data){
return $data["tbl_column_name"];
}
],
'title',
'author',
'created_on',
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
Yii2
SqlDataProvider