Я добавляю переводы KnpBehaviors в мой проект Symfony
. Но я получаю сообщение об ошибке, когда хочу настроить перевод для одной из моих сущностей:
Column name `id` referenced for relation from Entity\EntityToBeTranslatedTranslation towards Entity\EntityToBeTranslated
На самом деле, кажется, что для перевода, только knp-переводы работаютс сущностью, у которой нет идентификатора на Id. Я хотел бы сохранить это пользовательское имя.
Метод, который получает Id, находится в подписчике от knp: Knp\DoctrineBehaviors\ORM\Translatable\TranslatableSubscriber, in 'mapTranslation' method
if (!$classMetadata->hasAssociation('translatable')) {
$classMetadata->mapManyToOne([
'fieldName' => 'translatable',
'inversedBy' => 'translations',
'cascade' => ['persist', 'merge'],
'fetch' => $this->translationFetchMode,
'joinColumns' => [[
'name' => 'translatable_id',
'referencedColumnName' => 'id',
'onDelete' => 'CASCADE'
]],
'targetEntity' => $classMetadata->getReflectionClass()->getMethod('getTranslatableEntityClass')->invoke(null),
]);
}
Я хотел бы знать, есть ли способ переопределить этот метод из этого стороннего пакета.
Спасибо.