谁一开始就是大神?

Yii2原生SQL+GridView分页问题

在sql比较复杂,用orm不好实现的情况下需要写原生sql还要用GirdView展现数据;
我的思路是这样的(已实现):

//Controller

$sql = 'select a.id,b.name,c.age from a,b,c where xxx';  
$q = Yii::$app->db2->createCommand($sql)->queryAll();  
$pages = new Pagination([
            'totalCount'=>count($q),
        ]);
$list = Yii::$app->db2->createCommand($sql." limit ".$pages->limit." offset ".$pages->offset."")->queryAll();  
 $dataprovider = new ArrayDataProvider([
       'allModels' => $list,
 ]);  
return $this->render('circle',[
     'dataprovider'=>$dataprovider,
      'pages'=>$pages,
]);  

//View

<?= GridView::widget([  
    'dataProvider'=>$dataprovider,  
    //不显示gridview的分页,在这指定totalCount属性不好使(问题就在这)  
    'pager'=>[
        'options'=>['class'=>'hidden']
    ],
    'columns'=>[
        //此处略去n多字
    ],
]) ?>  
//单独展示分页  
<?= LinkPager::widget([
    'pagination'=>$pages,
]) ?>

虽然这样能实现我想要的结果,但是总感觉姿势不对.求大神指点

视图
为了避免你误人子弟我只好出手了
我也出手了,学习….
为什么我的分页出不来??
那么,我也给个优雅的回答
controller:
视图
又涨姿势了

赞(0) 打赏
未经允许不得转载:菜鸟之家 » Yii2原生SQL+GridView分页问题

评论 抢沙发

登录

找回密码

注册