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

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')