У меня есть объект региона и регионEmploymentDetails, regionEducationDetails, regionPowerDetails, которые содержат сведения о занятости, образовании и мощности в регионах. Сущности хранятся отдельно, потому что они содержат разные данные. Ниже представлены классы,
class Region
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
*@ORM\OneToOne(targetEntity="RegionEducationDetails")
@ORM\JoinColumn(name="region_id", referencedColumnName="id")
**/
private $education_details;
/**
*@ORM\OneToOne(targetEntity="RegionEmploymentDetails")
@ORM\JoinColumn(name="region_id", referencedColumnName="id")
**/
private $employment_details;
/**
*@ORM\OneToOne(targetEntity="RegionPowerDetails")
@ORM\JoinColumn(name="region_id", referencedColumnName="id")
**/
private $power_details;
}
class RegionEducationDetails
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="region_id", type="integer", length=20)
*/
private $region_id;
}
class RegionEmploymentDetails
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="region_id", type="integer")
*/
private $region_id;
}
class RegionPowerDetails
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\Column(name="region_id", type="integer")
*/
private $region_id;
}
Проблема в том, что когда я генерирую схему с помощью команды
php приложение/консоль доктрина:схема:обновление --force
Он генерирует таблицы базы данных, но связывает сущность региона с сущностью только регионпоусердетаилс и не связывает другие сущности.
Кажется, он рассматривает только последнее сопоставление и поэтому относится только к последнему объекту. Если я удаляю отношение сущности Power, оно связано с сущностью, которая находится перед властью, то есть с занятостью.
Я делаю что-то не так? Есть ли решение этой проблемы?