zoukankan      html  css  js  c++  java
  • 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();
    
  • 相关阅读:
    redis分布式锁
    pod资源清单
    zookeeper
    [置顶]【WP】 Writeup for SJTU-CTF ,被同级大佬和学长联合虐爆
    魔术师猜数【更优解】
    数学基础之线代
    向量是什么?
    矩阵与线性变换
    线性组合、张成的空间、基
    线性代数的本质
  • 原文地址:https://www.cnblogs.com/yaoliuyang/p/14102581.html
Copyright © 2011-2022 走看看