Соната редактировать / формировать неправильно сопоставленный объект - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть 3 вида сущностей (на самом деле это документы, так как я работаю с Mongo, но я надеюсь, что это не повлияет на решение): AdminBundle\Document\Sector, наследуется от LocationBundle\Document\OperationAreaSector, наследуется от простого словаря: DictionaryBundle\Document\Sector

Я создал модуль Sonata Admin, который позволяет мне редактировать первый AdminBundle\Document\Sector - он такой же, как и в LocationBundle, но имеет несколько дополнительных методов получения и установки, которые помогают работать с ним. Раньше он работал в момент создания, но недавно я заметил, что хотя Admin по-прежнему работает нормально для Листинга, я получаю сообщение об ошибке при попытке войти в режим редактирования для любой записи.

Вот ошибка:

Neither the property "xxx" nor one of the methods "getXxx()", "xxx()", "isXxx()", "hasXxx()", "__get()" exist and have public access in class "DictionaryBundle\Document\Sector".

Похоже, что в какой-то момент он начал использовать базовый базовый класс для построения формы. Я не уверен, что это связано с какими-либо недавними изменениями в Symfony или Sonata Admin. Пока моя отладка не дала никаких результатов, так что, возможно, у вас есть идея, что может быть не так, что Form использует другие модели, чем List?

Вот объявление конфигурации:

 AdminBundle\Admin\SectorAdmin:
    arguments: [~, AdminBundle\Document\Sector, ~]
    tags:
        - { name: sonata.admin, manager_type: doctrine_mongodb, label: Sector, group: group.sectors }
...