Задать вопрос
@vadimek
Полуджун

Как сделать Symfony form типа json?

У Doctrine-сущности есть свойство features типа json, в котором должны хранится характеристики в формате ключ-значение. В админке используется CollectionType для кастомного типа KeyValueType (два поля: key и value). Все работает, но получается избыточно:
[
{"key": "Материал", "value": "металлический каркас"}, {"key": "Цвет подставки", "value": "черный"}
]

Хотелось бы такого:
[
{"Материал": "металлический каркас"}, {"Цвет подставки": "черный"}
]

Или вообще только массив, без объектов внутри, но так понимаю, json_array в Doctrine теперь deprecated.

Что можно придумать, чтобы при этом формы редактирования выводились в два поля: название характеристики и ее значение. Data Transformer? Вроде не то.
Пробовал через FormEvents::PRE_SUBMIT, тоже не вышло ключи изменить у коллекции. Возможно, это я неправильно делал.
На крайний случай можно через Event[Subscriber|Listener] Доктрины, но кажется, что это кривые костыли.
  • Вопрос задан
  • 2205 просмотров
Подписаться 3 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Minifets
@Minifets
Hello world!!!
Вот документация, как создать кастомный тип.

По мне это самый правльный подход.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Goodt Екатеринбург
от 100 000 до 150 000 ₽
Selecty Москва
До 350 000 ₽
Data World Москва
от 180 000 до 210 000 ₽