YII2,gradview使用

1.view模版中使用

  GridView::widget([
        ‘dataProvider‘ => $dataProvider,
        ‘filterModel‘ => $searchModel,
        ‘columns‘ => [
            [‘class‘ => ‘yii\grid\SerialColumn‘],

            ‘id‘,
            [‘attribute‘=>‘title‘,‘headerOptions‘ => [‘width‘ => ‘250‘],],
            ‘url:url‘,

            [
                ‘attribute‘=>‘type‘,
                ‘value‘ => function ($data) {
                    return ‘‘;
                },
                ‘filter‘ => ‘‘,//是否添加过滤器(本字段的搜索框)
            ],
            [
                ‘attribute‘=>‘status‘,
                ‘value‘ => function ($data) {
                    return $data->status?‘正常‘:‘不正常‘;
                },
                ‘filter‘ => ‘‘,
            ],
            [
               ‘attribute‘=>‘created‘,
                   ‘value‘=>function(){
                        return Yii::$app->user->identity->username;
                    },
                    ‘filter‘=>‘‘,
            ],
             ‘ctime‘:datetime‘,

            [‘class‘ => ‘yii\grid\ActionColumn‘,‘header‘ => ‘操作‘,‘template‘=>‘{update} {delete}‘],
        ],
    ]);

2.controller中

        $searchModel = new PostSearch;
        $dataProvider = $searchModel->search(Yii::$app->request->getQueryParams());
        return $this->render(‘index‘, [
            ‘dataProvider‘ => $dataProvider,
            ‘searchModel‘ => $searchModel,
        ]);

3.model中

    public function search($params)
    {
        $query = Post::find();
        //$query->joinWith([‘user‘]); // 添加关联条件
        $dataProvider = new ActiveDataProvider([
            ‘query‘ => $query,
            ‘sort‘=>[‘defaultOrder‘=>[‘ctime‘ => SORT_DESC]]
        ]);
        if (!($this->load($params) && $this->validate())) {
            return $dataProvider;
        }

        $query->andFilterWhere([
            ‘id‘ => $this->id,
            [...]
        ]);

        $query->andFilterWhere([‘like‘, ‘title‘, $this->title])->[...];

        return $dataProvider;
    }
时间: 2024-10-20 01:20:59

YII2,gradview使用的相关文章

yii2 gradview 输出当前时间和图片

gradview是一个表格显示控件: columns是列选项 官方api:http://www.yiiframework.com/doc-2.0/yii-grid-gridview.html <?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], ['la

Yii2框架RESTful API教程(二) - 格式化响应,授权认证和速率限制

之前写过一篇Yii2框架RESTful API教程(一) - 快速入门,今天接着来探究一下Yii2 RESTful的格式化响应,授权认证和速率限制三个部分 一.目录结构 先列出需要改动的文件.目录如下: web ├─ common │ └─ models │ └ User.php └─ frontend ├─ config │ └ main.php └─ controllers └ BookController.php 二.格式化响应 Yii2 RESTful支持JSON和XML格式,如果想指定

Yii2 Unable to verify your data submission

出现这种错误第一时间是怀疑CSRF没有填写的原因,不建议网上所说的关闭csrf,这存在安全隐患,于是直接在表单填写<input type="hidden" name="_csrf" id='csrf' value="<?= Yii::$app->request->csrfToken ?>"> 重新提交以下,还是同样的问题,于是追踪源码,发现name的名称有误,我使用的是yii2的高级后台模板,准确的name名称

YII2框架详解

yii2框架的安装我们在之前文章中已经提到下面我们开始了解YII2框架 Yii2的应用结构: 目录篇: advance版本的特点是:根目录下预先分配了三个模块,分别是前台.后台.控制台模块. 1.backend 它主要用于管理后台,网站管理员来管理整个系统. assets 目录用于存放前端资源包PHP类. 这里不需要了解什么是前端资源包,只要大致知道是用于管理CSS.js等前端资源就可以了. config 用于存放本应用的配置文件,包含主配置文件 main.php 和全局参数配置文件 param

Yii2系列教程四:实现用户注册,验证,登录

上一篇写了一点点Yii2的数据库相关知识和强大的Gii,这一篇就如上一篇的最后所说的一样:在Yii2中实现用户的注册和登录. 你可以直接到Github下载源码,以便可以跟上进度,你也可以重头开始,一步一步按照这个教程来做.本期的用户注册和登录,我会使用一个很棒的composer package :dektrium/yii2-user,下面就开始我们的故事吧. 用户的注册和登录 在现在的Web应用中,几乎每一个应用都会需要用户注册,不管是使用的第三方还是自建的注册登录系统,我们都需要通过某些表单来

yii2使用多个数据库的案例

作者:白狼 出处:http://www.manks.top/article/yii2_%E5%88%86%E5%BA%93%E5%88%86%E8%A1%A8_config本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 关于yii2配置操作多个数据库进行操作,文档上面也给出了具体的配置,一个实战性的例子,也是很简单的,我们这里以权限控制为单个管理库dbname2,业务库dbname 为例来看看如何配置多个数据库. No1.

Yii2的深入学习--自动加载机制

Yii2 的自动加载分两部分,一部分是 Composer 的自动加载机制,另一部分是 Yii2 框架自身的自动加载机制. Composer自动加载 对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件.你可以简单的引入这个文件,你会得到一个自动加载的支持. 在之前的文章,入口文件的介绍中,我们可以看到如下内容: // 引入 vendor 中的 autoload.php 文件,会基于 composer 的机制自动加载类 require(__DIR__ .

配置yii2 lamp 环境 出错解决记录

1. minimum-stability  错误 使用composer 安装yii2的时候会出现下面的问题. composer install Loading composer repositories with package information Installing dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages.

Yii2.0实用功能技巧解密之——分页功能

Yii中的分页功能主要由yii\web: Linkable接口.yii\widgets: LinkPager类和yii\data: Pagination类三个组成. yii\data: Pagination 主要功能是对分页中的参数进行设置,如当前页.每页大小.总页数,总记录数等. yii\widgets: LinkPager 主要是根据yii\data: Pagination类所提供的参数生成前台页面的分页html代码. 使用:先在action里面生成分页对象,然后在前台的LinkPager中