oleksiypetlyuk/nova-range-filter

Laravel Nova 过滤器。

0.0.2 2020-05-26 15:48 UTC

This package is auto-updated.

Last update: 2024-09-27 02:04:10 UTC


README

Nova Range Filter

一个自定义的 Vue 组件,完全支持基于 Vue Slider 组件 的值范围过滤。

安装

您可以通过 composer 将此包安装到使用 Nova 的 Laravel 应用中。

composer require oleksiypetlyuk/nova-range-filter

用法

只需在您的 Nova 过滤器中使用 Oleksiypetlyuk\NovaRangeFilter\NovaRangeFilter 字段。

<?php

namespace App\Nova\Filters\Profile;

use App\Models\Profile\Profile;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Http\Request;
use Oleksiypetlyuk\NovaRangeFilter\NovaRangeFilter;

class HourlyPriceFilter extends NovaRangeFilter
{
    public $name = 'Price range';

    public function __construct()
    {
        $this->min = floor(Profile::min('hourly_price'));

        $this->max = ceil(Profile::max('hourly_price'));

        parent::__construct();
    }

    /**
     * Apply the filter to the given query.
     *
     * @param  Request $request
     * @param  Builder $query
     * @param  mixed $value
     * @return Builder
     */
    public function apply(Request $request, $query, $value)
    {
        return $query->whereBetween('hourly_price', $value)
            ->orWhereNull('hourly_price');
    }
}

贡献

所有贡献(无论大小)都热烈欢迎。发送 PR

作者

支持

如果您想支持此包的持续开发和维护,请考虑买我一杯咖啡。

Buy Me A Coffee

许可证

此包是开源软件,受MIT 许可证许可。