奔跑吧笨笨 2017-06-01 19:49:29 3381次浏览 0条评论 3 2 0

AR的两表联查在前边已经说过,在此不在赘述!现在记录一下简单的yii2.0的分页
算不上教程,看手册就懂得东西!烂大街的!
非话不多说,直接上代码,加注释!
一.在控制器层 在引入AR Model 之外 ,再引入一个插件 use yii\data\Pagination;

<?php
/**
 * Created by PhpStorm.
 * User: wangj
 * Date: 2017/5/31
 * Time: 11:10
 */

namespace backend\controllers;

use yii;
use yii\web\Controller;
use backend\models\ArticleModel;
use backend\models\ArticleFrom;
use backend\models\TypeModel;

//下边是分页需要的插件
use yii\data\Pagination;
class ArticleController extends Controller{
    //两表  查询
    public function actionIndex(){
        //$res = ArticleModel::find()->joinWith('type')->select('id,new,t_name,article.t_id')->orderBy('id desc')->asArray()->all();
       //下边是 分页 + 两表联查
       $data = ArticleModel::find();                              //设置展示 条数
        $pages = new Pagination(['totalCount' =>$data->count(), 'pageSize' => '5']);                                  //没有asArray则为对象
        $res = $data->joinWith('type')->select('id,new,t_name,article.t_id')->offset($pages->offset)->limit($pages->limit)->asArray()->all();
      //  print_r($res);die;
        //返回值                      //传参两个  参数一 数据   参数二 分页
        return $this->render('index',['res'=>$res,'pages'=>$pages]);
    }
    二。在视图层  同样需要加入一个 use yii\widgets\LinkPager;  此是为了超链接 页码


      
        <?php foreach($res  as $v){?>
      
    
        <?php } ?>
  
    // 比正常的多此句
    <?= LinkPager::widget(['pagination' => $pages]); ?>

因为没有使用表单小部件 是原生的Html
总结 View 上加了两句代码
就O K 了

觉得很赞
    没有找到数据。
您需要登录后才可以评论。登录 | 立即注册