bagusindrayana/laravel-filter

过滤laravel eloquent模型

0.0.2 2021-07-08 01:02 UTC

This package is auto-updated.

Last update: 2024-09-23 10:48:47 UTC


README

过滤laravel eloquent模型

安装

composer require bagusindrayana/laravel-filter

  • 在模型中使用
#use trait
use Bagusindrayana\LaravelFilter\Traits\LaravelFilter;

class User extends Authenticatable
{
    use HasFactory, Notifiable,LaravelFilter;

    //

}
  • 使用特性
    $datas = User::filters('john',['name','email'])->get();
  • 从HTML表单中获取名称输入使用特性
    $datas = User::filtersInput(['name','email'],'input_name')->get();
    //example if input name is "search" so you should replace input_name with "search"
  • 在模型中设置属性
    class User extends Authenticatable
    {
        use HasFactory, Notifiable,LaravelFilter;

        protected $filterFields = [
            'name',
            'email'
        ];



    }

    //you will only need call fuction name
    User::filters('john')->get();
    User::filtersInput(null,'search')->get();
  • 关系格式,您需要使用特性来对所有模型的关系进行操作
    protected $filterFields = [
        'name',
        'email',
        [
            'Role'=>[
                'role_name'
            ]
        ]
    ];

    //or when call function
    User::filtersInput([
        'name',
        'email',
        [
            'Role'=>[
                'role_name'
            ]
        ]
    ],'search')->get();

可用范围

  • filters(value,field)
  • filtersInput(field,inputName)
  • orFilters(value,field)
  • orFiltersInput(field,inputName)