2015-05-19 2 views
0

Я пытаюсь обновить мою базу данных с помощью этого cli: php app/console doctrine: schema: update Но у меня конфликт: «Таблица с именем« ... »уже существует» потому что у меня есть две сущности (одна для передней и одна для обратной), и оба связаны с одной таблицей. Я хотел бы сохранить оба, потому что это не то же самое логично для фронта и спины. У кого-то была такая же проблема или может объяснить мне, как я могу исправить свою проблему.DOCTRINE 2 Используйте два объекта для одного объекта

+0

Почему вы не хотите использовать одну сущность для обоих случаев? Вы можете сериализовать его только с полями, которые вам нужны. –

+0

вы не можете иметь базу данных с таблицами с тем же именем, посмотрите на свой Entity/* @ORM \ Table (name = "ANOTHER_NAME") */_doctrine сгенерируйте имя на основе имени класса, если оно пустое_, или просто используйте десериализатор в качестве первого комментария (см. здесь: http://jmsyst.com/libs/serializer/master/cookbook/exclusion_strategies) – mboullouz

ответ

0

Лучший способ решить вашу проблему - использовать одну сущность для обоих случаев. Но в каждом случае, когда вам не нужны какие-либо поля, просто исключайте его из сериализованного объекта.

Если у вас есть разные поля в этих объектах и ​​для них разные цели, вы можете использовать single table inheritance pattern, которым нужен некоторый атрибут (дискриминатор), который будет определять, какой объект будет заполняться данными из БД.