Увлажнение/обезвоживание массива JSON с помощью переключателей нитейPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Увлажнение/обезвоживание массива JSON с помощью переключателей нитей

Сообщение Anonymous »

Я работаю над формой Filament, в которой пользователь сможет переключать несколько элементов (называть их опциями) в ресурсе модели.
Это может выглядеть примерно так< /p>

Код: Выделить всё

Components\Fieldset::make('Group 1')->schema([
Components\Toggle::make('option_a')->label('Option a'),
Components\Toggle::make('option_b')->label('Option b'),
]),
Components\Fieldset::make('Group 2')->schema([
Components\Toggle::make('option_y')->label('Option y'),
Components\Toggle::make('option_z')->label('Option z'),
])
Эти параметры затем сохраняются в одном столбце параметров в формате JSON:

Код: Выделить всё

{
"group_1": ['option_a'],
"group_2": ['option_y', 'option_z']
}
Если в модели нет group_1.option_b, она просто не отображается в объекте json.
Я' Я пытаюсь понять, как использовать afterStateHydrated, beforeStateDeгидратed и/или deгидратStateUsing, чтобы правильно заполнить интерфейс и сохранить данные обратно в базу данных, но это доказывать...сложно.
Есть ли какие-нибудь советы о том, как заставить это работать правильно, кроме того, чтобы не использовать здесь json? Я работаю с устаревшей системой, и приоритетом является заставить что-то работать, прежде чем я приступлю к рефакторингу модели данных.

Подробнее здесь: https://stackoverflow.com/questions/792 ... nt-toggles
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»