yii2.0AR两表联查+分页 [ 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 了
奔跑吧笨笨
注册时间:2017-05-11
最后登录:2019-12-18
在线时长:10小时12分
最后登录:2019-12-18
在线时长:10小时12分
- 粉丝3
- 金钱690
- 威望20
- 积分990
共 0 条评论