Поля
URL-идентификатор
Поле для URL-идентификаторов (slug) с авто-генерацией из других полей
Поле для человекочитаемых идентификаторов (URL-slug). Наследуется от Text, поэтому поддерживает все его методы. Когда собственный ввод пуст, значение генерируется автоматически из указанных полей.
app/Frame/Resources/PostResource.php
Slug::make('slug')
->from('title')
->unique()

Первый аргумент — имя поля в БД (snake_case). Второй (опциональный) — подпись в интерфейсе.
Методы
from
string ...$fields → static
Поля-источники для авто-генерации. Срабатывает только когда собственное значение slug пусто. При нескольких полях их значения склеиваются через пробел и затем слагифицируются:
->from('title', 'subtitle').separator
string $separator → static
Разделитель слов. По умолчанию
-; можно задать _ или другой символ.unique
bool $value = true → static
При сохранении дописывает суффикс
-1, -2, … пока slug не станет уникальным в таблице модели (текущая запись исключается).slugifyUsing
Closure $callback → static
Полностью кастомная слагификация. Колбэк получает исходную строку и само поле:
Closure(string $source, Slug $field): string.app/Frame/Resources/PostResource.php
Slug::make('slug')
->from('title')
->separator('_')
->unique()
->hideInTree()
По умолчанию слагификация выполняется через
Str::slug() с выбранным разделителем. Для транслитерации или иных правил используйте slugifyUsing().