optimistdigital/nova-input-filter

Laravel Nova 输入过滤器

2.0.1 2024-02-27 15:07 UTC

This package is auto-updated.

Last update: 2024-08-27 16:10:55 UTC


README

Latest Version on Packagist Total Downloads

这个Laravel Nova包允许您创建简单的输入过滤器。

要求

  • php: >=8.0
  • laravel/nova: ^4.0

功能

  • 开箱即用,就像一个额外的搜索字段。
  • 简单的使用场景可以直接使用。

截图

Input filter

安装

通过 composer 在使用 Nova 的 Laravel 应用中安装此包

composer require outl1ne/nova-input-filter

使用方法

接受一个列的数组作为第一个参数,过滤器名称作为第二个参数。可以可选地传入多个列:['email', 'id'],类似于 nova 的搜索。

use Outl1ne\NovaInputFilter\InputFilter;

public function filters(Request $request)
{
    return [
        InputFilter::make()->forColumns(['email'])->withName('Email'),

        // Or

        InputFilter::make(['email'], 'email'),
    ];
}

自定义

开箱即用,InputFilter工作方式与 Nova 的搜索字段完全相同。如果您想更改它,可以扩展 InputFilter 类并重写 apply() 函数。

use Outl1ne\NovaInputFilter\InputFilter;

class ExtendedInputFilter extends InputFilter
{
    public function apply(Request $request, $query, $search)
    {
        return $query->where('email', 'like', "%$search%");
    }
}

致谢

许可证

Nova Input Filter 是开源软件,许可协议为MIT 许可证