Поле зависит от Eloquent Model
# Основы
С помощью данного поля вы можете генерировать slug на основе выбранного поля, а также сохранять только уникальные значения.
use MoonShine\Fields\Slug; //... public function fields(): array{ return [ Slug::make('Slug') ];} //...
# Генерация slug
Через метод from()
можно указать на основе какого поля модели генерировать slug,
при отсутствии значения.
from(string $from)
use MoonShine\Fields\Slug; //... public function fields(): array{ return [ Slug::make('Slug') ->from('title') ];} //...
# Разделитель
По умолчанию в качестве разделителя слов при генерации slug используется -
,
метод separator()
позволяет изменить это значение.
separator(string $separator)
use MoonShine\Fields\Slug; //... public function fields(): array{ return [ Slug::make('Slug') ->separator('_') ];} //...
# Локаль
По умолчанию генерация slug учитывается заданная локаль приложения,
метод locale()
позволяет изменить данное поведения для поля.
locale(string $local)
use MoonShine\Fields\Slug; //... public function fields(): array{ return [ Slug::make('Slug') ->locale('ru') ];} //...
# Уникальное значение
Если необходимо сохранять только уникальные slug, то необходимо воспользоваться методом unique()
.
unique()
use MoonShine\Fields\Slug; //... public function fields(): array{ return [ Slug::make('Slug') ->unique() ];} //...
# Динамический slug
Метод live()
позволяет создать динамическое поле, которое будет отслеживать изменения в исходном поле.
use MoonShine\Fields\Slug;use MoonShine\Fields\Text; //... public function fields(): array{ return [ Text::make('Title') ->reactive(), Slug::make('Slug') ->from('title') ->live() ];} //...
Динамичность основано на реактивности полей .