Sonata Admin добавить поле из внешней таблицы

87
9

В настоящее время я работаю над проектом, который использует много отношений.

Вот схема базы данных, которую я должен использовать:

Database schema

Я хочу иметь одну страницу администратора (например, продукт), которая может редактировать содержимое таблицы продуктов, а также имя_файла product_name или product_description, проблема в том, что в таблице продуктов нет идентификатора в таблице продуктов, чтобы связать эти таблицы.

Есть ли у вас какие-либо идеи по редактированию внешнего содержимого таблицы с одной страницы администрирования сонаты?

Я попробовал ModelType :: class, sonata_type_collection, но ничего не работает:/

Примечания. Я не могу добавить двунаправленные отношения, потому что парень, который работает в базе данных, не хочет этого делать:/

Спасибо за все !

спросил(а) 2021-01-19T21:40:26+03:00 2 месяца, 3 недели назад
1
Решение
62

Создайте службу для службы администратора для product_name (например). После этого добавьте поле в свой админ, как это:

->add('product_name', 'sonata_type_model_list', array(
'required' => false,
'mapped' => false,
'btn_add' => true,
'by_reference' => false), array('admin_code'=>'app.admin.product_name.service'))

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

ответил(а) 2021-01-19T21:40:26+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема