madhan-prasath / laravel-nova-date-range-filter
一个基于 Laravel Nova 的日期范围过滤器。
dev-master
2022-07-23 10:29 UTC
Requires
- php: ^8.0
- laravel/framework: ^8.0 || ^9.0
- laravel/nova: ^4.0
Requires (Dev)
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-09-25 08:18:45 UTC
README
关于
这是一个可配置的 Laravel Nova 2 日期范围过滤器,基于 Nova 自带的日期过滤器,显示日期范围选择器。
安装
要安装过滤器,请在您的 Laravel Nova 项目中运行以下命令
composer require pos-lifestyle/laravel-nova-date-range-filter
用法
只需将此过滤器添加到您的 Nova 资源中的 filters
方法。
use Illuminate\Http\Request; use PosLifestyle\DateRangeFilter\DateRangeFilter; class CustomResource extends Resource { public function filters(Request $request): array { return [ new DateRangeFilter(), ]; } }
默认情况下,这将创建一个名为 "创建于" 的过滤器,将所选日期范围应用到 created_at
数据库列。
自定义
该过滤器接受最多三个参数,以根据您的需求进行自定义。
配置
所有可用设置都由包含的 Config
枚举提供。下面是使用它的完整示例。
完整示例
use Illuminate\Http\Request; use PosLifestyle\DateRangeFilter\DateRangeFilter; use PosLifestyle\DateRangeFilter\Enums\Config; class CustomResource extends Resource { public function filters(Request $request): array { return [ new DateRangeFilter('Created at', 'created_at', [ Config::ALLOW_INPUT => false, Config::DATE_FORMAT => 'Y-m-d', Config::DEFAULT_DATE => ['2019-06-01', '2019-06-30'], Config::DISABLED => false, Config::ENABLE_TIME => false, Config::ENABLE_SECONDS => false, Config::FIRST_DAY_OF_WEEK => 0, Config::LOCALE => 'default', Config::MAX_DATE => '2019-12-31', Config::MIN_DATE => '2019-01-01', Config::PLACEHOLDER => __('Choose date range'), Config::SHORTHAND_CURRENT_MONTH => false, Config::SHOW_MONTHS => 1, Config::TIME24HR => false, Config::WEEK_NUMBERS => false, ]), ]; } }