В моем приложении некоторые таблицы имеют одинаковую структуру. Вместо того, чтобы создавать сущности для всех них, я просто меняю имя таблицы на основе маршрута запроса
$em = $this->getDoctrine()->getManager();
$em->getClassMetadata(CategoryWizard::class)->setTableName($this->tableName);
Благодаря этому я могу иметь одну сущность, контроллер, форму и шаблоны для всех таблиц. Все отлично работает, пока нет переведенных полей. В ext_translations
таблице object_class
значение всегда одинаково, потому что класс сущности действительно одинаков.
Моя идея состояла в том, чтобы как-то переписать переводы Гедмо setObjectClass
и getObjectClass
в подписчике событий, но я не знаю, как это сделать. Простое расширение Gedmo\Translatable\Entity
в подписчике не работает. Может есть какое-то другое решение?