Поля
JSON-редактор
Repeatable, KeyValue и Tags — поля для работы с JSON-структурами
Repeatable
Поле для повторяющихся структурированных значений. Сохраняется как JSON-массив объектов. Метод fields() задаёт схему одного элемента.
app/Frame/Resources/ContestResource.php
Repeatable::make('stages', 'Этапы конкурса')
->fields([
Text::make('title', 'Название')
->placeholder('Регистрация участников')
->required(),
Text::make('time', 'Время')
->placeholder('15:00')
->required(),
])
->nullable()
В БД сохранится структура вида:
[
{ "title": "Регистрация участников", "time": "15:00" },
{ "title": "Торжественное начало", "time": "16:00" }
]
KeyValue
Упрощённая версия Repeatable — каждый элемент представляет пару «ключ-значение» из строк. Собственные fields() не задаются.
app/Frame/Resources/SettingResource.php
KeyValue::make('keyvalue', 'KeyValue')

Tags
Поле для списка меток. Значение сохраняется как JSON-массив строк.
app/Frame/Resources/PostResource.php
Tags::make('Tags', 'tags')