`

yii2 rest使用DataFilter查询数据

 
阅读更多
配置action
 
    /**
     * {@inheritdoc}
     */
    public function actions()
    {
        return [
            'index' => [
                'class' => 'yii\rest\IndexAction',
                'modelClass' => $this->modelClass,
                'checkAccess' => [$this, 'checkAccess'],
                'dataFilter'=>['class' => 'yii\data\ActiveDataFilter','searchModel'=>['class'=>'common\models\TableSearch']],
            ],
            'view' => [
                'class' => 'yii\rest\ViewAction',
                'modelClass' => $this->modelClass,
                'checkAccess' => [$this, 'checkAccess'],
            ],
            'create' => [
                'class' => 'yii\rest\CreateAction',
                'modelClass' => $this->modelClass,
                'checkAccess' => [$this, 'checkAccess'],
                'scenario' => $this->createScenario,
            ],
            'update' => [
                'class' => 'yii\rest\UpdateAction',
                'modelClass' => $this->modelClass,
                'checkAccess' => [$this, 'checkAccess'],
                'scenario' => $this->updateScenario,
            ],
            'delete' => [
                'class' => 'yii\rest\DeleteAction',
                'modelClass' => $this->modelClass,
                'checkAccess' => [$this, 'checkAccess'],
            ],
            'options' => [
                'class' => 'yii\rest\OptionsAction',
            ],
        ];
    }
 
 
 
关键是index的dataFilter这一项
使用ActiveDataFilter或DataFilter都可以,应该是ActiveDataFilter支持更复杂的查询方式。
然后请求的时候这样写
http://localhost:9104/table?filter[table_id]=1
filter参数指定查询表达式,具体格式参考query的where()方法
分享到:
评论

相关推荐

    yii2-oauth2-rest-template, 带有OAuth2服务器的Yii2 REST API 模板.zip

    yii2-oauth2-rest-template, 带有OAuth2服务器的Yii2 REST API 模板 在 Yii2上,使用OAuth2服务器的 REST API 应用程序。这是一个 Yii2 Rest应用程序模板,配置了OAuth2服务器( 使用 ...

    yii2 rbac yii2 rest RBAC Auth manager for-yii-rest-admin.zip

    标题 "yii2 rbac yii2 rest RBAC Auth manager for-yii-rest-admin" 暗示了这是一个关于在 Yii2 中实现 RESTful API 的 RBAC 管理器,特别是为 "yii-rest-admin" 这个项目设计的。这个压缩包可能包含了实现这一功能...

    yii-rest-admin:yii2 rbac yii2 rest RBAC Auth manager for Yii2 RESTful(YII2权限管理rbac--rest接口方式)

    rest-rbac 创建数据表使用@vendor\\clement\\yii-rest-rbac\\migrations下的 yii-rest-rbac.sql 导入到数据库中你可以修改表前缀cc_或者在数据库配置中添加 'tablePrefix' =>'cc_',配置文件在app(backend/ common )...

    yii2 rbac yii2 rest RBAC Auth manager for-yii2-rest-rbac.zip

    标题 "yii2 rbac yii2 rest RBAC Auth manager for-yii2-rest-rbac.zip" 提到的主要是关于在 Yii2 框架下,针对 RESTful API 的 RBAC 管理器的实现。这个压缩包很可能包含了一个预配置的 RBAC 解决方案,用于帮助...

    yii2-rest-api-template:带有Yii2的REST API模板

    Yii2 REST API模板 这是一个Yii2的REST API模板。 该模板使用方法,因此重量轻且易于部署。 安装 安装此模板的首选方法是通过 。 无论运行 composer create-project --prefer-dist hoaaah/yii2-rest-api-template ...

    Yii2使用resful api接口

    在Yii2中,我们可以利用RESTful API来构建高效、灵活的Web服务。RESTful API是一种设计模式,它通过HTTP协议来操作资源,提供了创建、读取、更新和删除(CRUD)数据的能力。Yii2框架为构建RESTful API提供了强大的...

    yii2swoole让yii2运行在swoole上

    2. **性能提升**:"运行在swoole上的yii2是运行在php-fpm上yii2的5倍以上"表明使用Swoole后,Yii2应用的处理速度和响应能力显著增强。Swoole的异步非阻塞I/O模型相比传统的PHP-FPM(FastCGI进程管理器)模型,可以...

    yii2 通用后台系统

    API接口开发则可以利用Yii2的RESTful特性,快速构建符合REST原则的API,方便前后端分离的项目开发。 在文件名称列表 "ytwo" 中,可能包含了该后台系统的源代码文件,例如配置文件、模型类、控制器、视图文件、公共...

    yii2-rest:Yii2 REST客户端

    Yii2 REST客户端这是什么?安装安装此扩展的首选方法是通过 。 添加"zhuravljov/yii2-rest": "*","yiisoft/yii2-httpclient": "@dev"到composer.json文件的require部分。用法安装扩展程序后,只需按以下步骤修改您的...

    Yii 2 REST API项目模板-PHP开发

    Yii 2 REST API项目模板是最简单的Yii 2框架应用程序,最适合快速创建小型rest api项目。 Yii 2 REST API项目模板Yii 2 REST API项目模板是最简单的Yii 2框架应用程序,最适合快速创建小型rest api项目。 该模板包含...

    yii2数据缓存 学习笔记

    yii 学习笔记,其中包括数据缓存、缓存组件、缓存过期、缓存依赖的理解及yii2数据缓存的测试代码

    datagrid+yii2分页查询

    接着,我们定义数据查询。Yii2 提供了方便的查询构建器 `yii\db\Query`,用于构造 SQL 查询。在 Datagrid 中,我们通常会根据用户输入的参数(如分页、排序等)来动态构建查询: ```php $query = User::find()->...

    yii-rest-rbac2.0:这是yii-rest-rbac 2.0版,所有的交互都是api形式,最近忙于项目,以后会补充二进制分析和原理

    由于提供的压缩包文件名为"yii-rest-rbac2.0-master",可以推断这是一个包含源代码的Git仓库主分支,里面可能包含了完整的框架、配置文件、示例代码以及必要的文档,帮助开发者快速理解和使用这个组件。 总之,Yii ...

    用于Yii2openapi30YAMLYii2的RESTAPI应用程序生成器

    在给定的标题和描述中提到的“用于Yii2, openapi 3.0 YAML -> Yii2的REST API应用程序生成器”是一个工具,旨在帮助开发者通过OpenAPI 3.0规范的YAML文件快速生成符合RESTful原则的API接口。OpenAPI(以前称为...

    Yii 2文件下载

    1. **yiisoft/yii2**: 框架的核心组件,包括MVC(模型-视图-控制器)架构、数据库访问层、缓存机制、身份验证和授权等。 2. **Composer配置文件**:用于管理依赖和自动加载类库。 3. **基础应用模板**:提供一个基本...

    yii2使用sign签名认证

    在Yii2框架中,Sign签名认证是一种常见的安全措施,用于防止数据篡改和确保请求的来源可信。这种机制广泛应用于API开发,特别是在移动应用与服务器交互或者前后端分离的架构中。签名认证的核心原理是通过一种哈希...

    yii2-angular-boilerplate:Yii2 REST API + Angular10 Boilerplate(FrontendBackend)

    该项目由Yii2开发的REST API和Angular 10使用Bootstrap 4开发的后端/前端组成。 该项目涉及: API Yii2 REST API,Yii2 RBAC,JWT(JSON Web令牌),Memcached,使用Codeception的基本单元和功能测试 后端:人员/...

    php开发框架Yii2

    1. 高性能:Yii2 使用了先进的缓存策略,如opcode缓存和查询缓存,以及优化的数据库查询构建器,使得处理大量请求变得轻而易举。 2. MVC(Model-View-Controller)架构:Yii2 遵循MVC模式,使开发者能够清晰地分离...

    YII 2数据库迁移(Migrations) 使用教程

    在`safeUp()`方法中,可以使用Yii 2提供的数据库操作API来创建数据表,并定义字段。例如: ```php public function safeUp() { $tableOptions = null; if ($this->db->driverName === 'mysql') { // 设置表为...

Global site tag (gtag.js) - Google Analytics