• tucker-eric/eloquentfilter 包使用(过滤器)


    1. 安装
    github
    链接
    • 使用composer安装
    composer require tucker-eric/eloquentfilter
    

    安装完成之后的配置

    • 发布配置文件
    php artisan vendor:publish --provider="EloquentFilterServiceProvider"
    
    • config/eloquentfilter.php配置文件中设置模型过滤器将驻留的名称空间:
    'namespace' => "App\ModelFilters\",
    

    2.使用

    2.1 使用php artisan model:filter +你的模型过滤器名称 此命令会在`AppModelFilters目录下为你生成一个过滤逻辑文件

    例:php artisan model:filter UserFilter
    <?php 
    
    namespace AppModelFilters;
    
    use EloquentFilterModelFilter;
    
    class UserFilter extends ModelFilter
    {
        /**
        * Related Models that have ModelFilters as well as the method on the ModelFilter
        * As [relationMethod => [input_key1, input_key2]].
        *
        * @var array
        */
        public $relations = [];
        public function id($id){
            return $this->where('id','like','%'.$id.'%');
        }
    }
    
    

    在对应的模型中声明

    use Filterable;

    <?php
    
    namespace App;
    
    use EloquentFilterFilterable;
    use IlluminateDatabaseEloquentModel;
    
    class User extends Model
    {
        use Filterable;
    
        public function modelFilter()
        {
            return $this->provideFilter(AppModelFiltersCustomFiltersCustomUserFilter::class);
        }
    
        //User Class
    }
    

    最终使用

    在事务处理层使用,如果filter没有提示:

    请使用composer require barryvdh/laravel-ide-helper插件

    return  User::filter(['id' => 2])->get();
    
  • 相关阅读:
    linux cut的用法
    删除表的语句(drop truncate delete)
    mysql中的模糊查询
    linux之软连接 硬链接 link ln
    使用robot合并Robot Framework测试报告
    Python中的字典
    python logger 动态设置日志名
    K8S(Kubernetes)学习笔记
    [转]CURL常用命令
    python网站目录扫描器2.0版
  • 原文地址:https://www.cnblogs.com/yaoliuyang/p/14102581.html
Copyright © 2020-2023  润新知