Skip to content

duc-cnzj/model-filter

Repository files navigation

model filter

Build Status codecov

Installing

$ composer require duc_cnzj/model-filter

Usage

  1. 生成filter

自动会加上 Filter 后缀

php artisan make:filter User
or 
php artisan make:filter UserFilter

Model 引入 Filter

# User.php

class User extends Model 
{
    use HasFilter;
}

控制器中使用

User::filter($request)->get();
or
User::filter(new UserFilter($request))->get();
or
User::filter(['name' => 'duc'])->get();

筛选filter参数

User::filter($request, ['name'])->get();

带上前缀

User::filter($request, ['name'], 'user')->get();

自定义入参过滤规则

# 默认是
return array_filter($inputs, function ($item) {
    return !is_null($item);
});

# 自定义的话,请在 boot 方法这样写
Filter::setGetFilterCallback('array_filter'); //callback 第一个参数就是inputs
Filter::setGetFilterCallback(function ($items) {
    return array_filter($items, function ($value, $key) {
        return $key !== 'sb';
    }, ARRAY_FILTER_USE_BOTH);
}); //callback 第一个参数就是inputs

Contributing

License

MIT

About

easy laravel model filter

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages