#php #json #symfony #symfony5 #easyadmin
#php #json #symfony #symfony5 #easyadmin
Вопрос:
Я новичок в Symfony и все еще учусь. В настоящее время я работаю над приложением Symfony, где у меня есть таблица, представляющая проекты, и в каждом проекте есть id
, title
, startDate
, endDate
и fields
где fields
находится поле JSON, содержащее данные, представляющие разные столбцы, которые являются пользовательскими для проекта и могут быть добавлены, обновлены или удалены пользователем.
Данные внутри этого поля выглядят следующим образом:
{
"columns": {
"column1": "string",
"column2": "integer"
},
"rows": [
{
"column1": "foo",
"column2": 22
},
{
"column1": "bar",
"column2": 23
}
]
}
"columns"
представляет пользовательские столбцы, добавленные в конкретный проект, и "rows"
представляет данные в каждом столбце. "string"
и "integer"
представлять тип данных в каждом столбце.
Мой вопрос:
Я могу извлечь столбцы и значения, используя DoctrineJsonFunctions, и я использую EasyAdmin 3, но мой вопрос в том, как я могу читать столбцы проекта при просмотре сведений о проекте, зная, что у каждого проекта могут быть разные столбцы? Или есть какое-либо лучшее решение, чем использование поля JSON? Заранее благодарю!
Ответ №1:
В easyadmin 3 вы можете использовать arrayField для отображения данных JSON.
Комментарии:
1. arrayField не является ассоциативным и не может обрабатывать вложенность.
2. Сопоставление между типом doctrine и существующими типами полей можно найти по адресу symfony.com/bundles/EasyAdminBundle/current /…