duc_cnzj/model-filter

包描述在这里。

v1.0 2020-06-16 13:05 UTC

This package is auto-updated.

Last update: 2024-09-29 05:49:31 UTC


README

Build Status codecov

安装

$ composer require duc_cnzj/model-filter

使用

  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

贡献

许可证

MIT