Symfony 3 с доктриной.Аннотация базы данных с доктриной
У меня есть пакет «MainBundle», который существует в нескольких проектах Symfony (P1, P2 и P3). MainBundle содержит различные объекты, например «AbstractColor.php».
/*** AbstractColor.php ***/
/**
* @ORM\Entity
* @ORM\Table(name="color")
*/
class AbstractColor
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length=7)
*/
protected $code;
/* ... getter and setter ... */
}
Я хочу использовать цвет лица в P1, P2 и P3, но в Р3 я хочу, чтобы добавить новое поле «имя». Для этого я создать новый объект в P3 "color.php":
/*** Color.php ***/
/**
* @ORM\Entity
* @ORM\Table(name="color")
*/
class Color extends \MainBundle\AbstractColor
{
/**
* @ORM\Column(type="string", length=100)
*/
protected $name;
/* ... getter and setter ... */
}
P3 Структура файла:
- приложение
- бин
- ЦСИ
- P3Bundle
- Сущность
- color.php
- Сущность
- P3Bundle
- вар
- поставщик
- MainBundle
- Сущность
- AbstractColor.php
- Сущность
- MainBundle
Моя проблема
Код выше не работает, потому что я определить таблицу "цвет" несколько раз. Я также пробовал доктрины «Mapped Superclass», но тогда я не могу использовать ассоциации OneToMany.
Есть ли хороший способ решить мою проблему? Спасибо!