behryuz/filter 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

behryuz/filter

最新稳定版本:v1.1

Composer 安装命令:

composer require behryuz/filter

包简介

Simple laravel filter

README 文档

README

Simple Laravel Filter.

Installation

composer require behryuz/filter

Usage

To create new node-filter run

PS: Node filter is a filter, that you can reuse in every filter you want

php artisan model:filter-node StatusNodeFilter

You are able to skip 'NodeFilter' suffix if you want

<?php

namespace App\Filters\Nodes\User;

use App\Filters\NodeFilter;
use Illuminate\Database\Eloquent\Builder;

class StatusNodeFilter implements NodeFilter
{
    public function handle(Builder $query, $input): Builder
    {
        return $query->where('status_id', $input);
    }
}

To create new filter run

php artisan model:filter UserFilter

You are able to skip 'Filter' suffix if you want

Add as many filters as you need

<?php

namespace App\Filters\Users;

class UserFilter extends Filter
{
    protected array $filters = [
       'status_id' => StatusNodeFilter::class
    ];

}

Add Filter/Filterable to Models/User

<?php

namespace App\Models;

class User extends Model
{
   use Filterable;
}

Then you can use filter scope method when calling User model

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\User;

class UserController extends Controller
{

    public function index(Request $request)
    {
        $users = User::filter(UserFilter::class)->get();

        return $users;
    }

}

License

MIT

统计信息

  • 总下载量: 127
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-06-28