Поля

Диапазон дат

Создание

Поле DateRange включает все базовые методы и позволяет выбрать диапазон дат.

Поскольку диапазон дат имеет два значения, необходимо указать их с помощью метода fromTo().

fromTo(string $fromField, string $toField)
fromTo(string $fromField, string $toField)
use MoonShine\Fields\DateRange;
 
//...
 
public function fields(): array
{
return [
DateRange::make('Dates')
->fromTo('date_from', 'date_to')
];
}
 
//...
use MoonShine\Fields\DateRange;
 
//...
 
public function fields(): array
{
return [
DateRange::make('Dates')
->fromTo('date_from', 'date_to')
];
}
 
//...

Дата и время

Использование метода withTime() позволяет вводить дату и время в поля.

withTime()
withTime()
use MoonShine\Fields\DateRange;
 
//...
 
public function fields(): array
{
return [
DateRange::make('Dates')
->fromTo('date_from', 'date_to')
->withTime()
];
}
 
//...
use MoonShine\Fields\DateRange;
 
//...
 
public function fields(): array
{
return [
DateRange::make('Dates')
->fromTo('date_from', 'date_to')
->withTime()
];
}
 
//...

Формат

Метод format() позволяет изменить формат отображения значений полей в предпросмотре.

format(string $format)
format(string $format)
use MoonShine\Fields\DateRange;
 
//...
 
public function fields(): array
{
return [
DateRange::make('Dates')
->fromTo('date_from', 'date_to')
->format('d.m.Y')
];
}
 
//...
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)
min(string $min)
max(string $max)
max(string $max)

Метод step() используется для установки шага даты для поля.

step(int|float|string $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)
];
}
 
//...
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)
fromAttributes(array $attributes)
toAttributes(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'])
];
}
 
//...
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')
];
}
 
//...
use MoonShine\Fields\DateRange;
 
//...
 
public function filters(): array
{
return [
DateRange::make('Dates', 'dates')
];
}
 
//...