Поддержка
Поля

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().