🆙 phpstan done an refactoring 🆙

This commit is contained in:
Remco
2026-01-20 20:40:28 +01:00
parent fccf4c2116
commit 981fd59af5
14 changed files with 148 additions and 126 deletions
@@ -9,19 +9,20 @@ use Illuminate\Database\Eloquent\Builder;
class DateRangeFilter extends Filter
{
#[\Override]
public static function make(string $name): static
public static function make(?string $name = null): static
{
return parent::make($name)
$filterName = $name ?? 'date';
return parent::make($filterName)
->schema([
DatePicker::make("{$name}_from"),
DatePicker::make("{$name}_until"),
DatePicker::make("{$filterName}_from"),
DatePicker::make("{$filterName}_until"),
])
->query(function (Builder $query, array $data) use ($name): Builder {
if (isset($data["{$name}_from"]) && is_string($data["{$name}_from"])) {
$query->whereDate($name, '>=', $data["{$name}_from"]);
->query(function (Builder $query, array $data) use ($filterName): Builder {
if (isset($data["{$filterName}_from"]) && is_string($data["{$filterName}_from"])) {
$query->whereDate($filterName, '>=', $data["{$filterName}_from"]);
}
if (isset($data["{$name}_until"]) && is_string($data["{$name}_until"])) {
$query->whereDate($name, '<=', $data["{$name}_until"]);
if (isset($data["{$filterName}_until"]) && is_string($data["{$filterName}_until"])) {
$query->whereDate($filterName, '<=', $data["{$filterName}_until"]);
}
return $query;
});