牛骨文教育服务平台(让学习变的简单)
博文笔记

YII2 列表( 不用自带的gridview) 分页+搜索

创建时间:2016-01-25 投稿人: 浏览次数:165

Controller

public function actionIndex()
    {
        $data = UserProfileSearch::search(Yii::$app->request->get());
        //print_r($data->count());exit;
        $pages = new Pagination(["totalCount" =>$data->count()]);
        $model = $data->offset($pages->offset)->limit($pages->limit)->all();

        return $this->render("index",compact("model","pages"));

    }

UserProfileSearch.php
<?php

namespace frontendmodulescompanymodels;

use Yii;
use commonmodelsuserUserProfile;
use commonmodelscommonCommon;


/**
 * UserProfileSearch represents the model behind the search form about `commonmodelsuserUserProfile`.
 */
class UserProfileSearch
{
    public static function search($params)
    {
        $query = UserProfile::find()
                ->select("i3a_user_profile.user_id,i3a_user_profile.fullname,i3a_user_profile.email,i3a_user_profile.position,i3a_user_profile.department_id,i3a_user.mobile,i3a_user.logged_at,i3a_user.created_at,i3a_user.status")
                ->joinWith("user","user_profile.user_id=user.id")
                //->joinWith("companyuserdepartment","user_profile.user_id=companyuserdepartment.user_id")
                ->andFilterWhere(["i3a_user.company_id"=>Yii::$app->user->identity->company_id]);
        if(isset($params["user_id"])){
            $query->andFilterWhere(["i3a_user_profile.user_id"=>$params["user_id"]]);
        }
        if(isset($params["nickname"]) && $nickname = Common::POST_CHECK($params["nickname"])){
            $query->andFilterWhere(["like", "i3a_user_profile.fullname", $nickname]);
        }

        return $query;
    }

} 

View

然后循环数据

再加上

<?= LinkPager::widget(["pagination" => $pages]); ?>

就好了

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。