outl1ne/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:14:32 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 许可证许可。