# Make
Поле DateRange включает в себя все базовые методы и позволяет выбрать диапазон дат.
Так как диапазон дат имеет два значения, то необходимо указать их с помощью метода fromTo()
.
fromTo(string $fromField, string $toField)
use MoonShine\Fields\DateRange; //... public function fields(): array{ return [ DateRange::make('Dates') ->fromTo('date_from', 'date_to') ];} //...
# Дата и время
Использование метода withTime()
дает возможность вводить в поля дату и время.
withTime()
use MoonShine\Fields\DateRange; //... public function fields(): array{ return [ DateRange::make('Dates') ->fromTo('date_from', 'date_to') ->withTime() ];} //...
# Формат
Метод format()
позволяет изменить формат отображения значений полей в preview.
format(string $format)
use MoonShine\Fields\DateRange; //... public function fields(): array{ return [ DateRange::make('Dates') ->fromTo('date_from', 'date_to') ->format('d.m.Y') ];} //...
# Атрибуты
Поле DateRange имеет атрибуты? которые можно задать через соответствующие методы.
Методы min()
и max()
используются для задания минимального и максимального значения даты.
min(string $min)
max(string $max)
Метод step()
используются для задания шага даты у поля.
step(int|float|string $step)
use MoonShine\Fields\DateRange; //...public function fields(): array{ return [ DateRange::make('Dates') ->fromTo('date_from', 'date_to') ->min('2023-01-01') ->max('2023-12-31') ->step(5) ];} //...
Если требуется добавить кастомные атрибуты для полей, то можно воспользоваться соответствующими методами
fromAttributes()
и toAttributes()
.
fromAttributes(array $attributes)
toAttributes(array $attributes)
use MoonShine\Fields\DateRange; //... public function fields(): array{ return [ DateRange::make('Dates') ->fromTo('date_from', 'date_to') ->fromAttributes(['placeholder'=> 'from']) ->toAttributes(['placeholder'=> 'to']) ];} //...
# Фильтр
При использовании поля DateRange для построения фильтра метод fromTo()
не используется,
так как фильтрация происходит по одному полю в таблице базы данных.
use MoonShine\Fields\DateRange; //... public function filters(): array{ return [ DateRange::make('Dates', 'dates') ];} //...