пустой ArrayCollection onetomany Я получил три класса:Пустой объект переменной и Symfony
- ProjectType
- Фаза
- ProjectTypePhase (Это должно создать отдельную таблицу соединения, чтобы убедиться, что ProjectType и фазы компонуется с идентификатор для заказа)
ProjectType
/**
* @OneToMany(targetEntity="ProjectTypePhase", mappedBy="project_type")
*/
private $projectTypePhases;
public function __construct()
{
$this->projectTypePhases = new ArrayCollection();
}
/**
* @return mixed
*/
public function getProjectTypePhases()
{
return $this->projectTypePhases;
}
Фаза
/**
* @OneToMany(targetEntity="ProjectTypePhase", mappedBy="phase")
*/
private $projectTypePhases;
public function __construct()
{
$this->projectTypePhases = new ArrayCollection();
}
/**
* @return mixed
*/
public function getProjectTypePhases()
{
return $this->projectTypePhases;
}
ProjectTypePhase
/**
* @ManyToOne(targetEntity="ProjectType", inversedBy="project_type_phase")
* @JoinColumn(name="project_type_id", referencedColumnName="id")
*/
private $projectType;
/**
* @ManyToOne(targetEntity="Phase", inversedBy="project_type_phase")
* @JoinColumn(name="phase_id", referencedColumnName="id")
*/
private $phase;
public function __construct($projectType, $phase)
{
$this->projectType = $projectType;
$this->phase = $phase;
}
Я заполнил базу данных с помощью MySQL Workbench, поскольку они являются только записи идентификаторов (правильные?). Во всяком случае, всякий раз, когда я пытаюсь сделать $ projectType-> getProjectTypePhases(); `возвращает пустую коллекцию. Кроме того, когда я пытаюсь это:
$repository = $this->getDoctrine()->getRepository('AppBundle:ProjectTypePhase');
$projectPhases = $repository->findAll();
Я получаю все записи, но как-то имя переменной для экземпляра projecttype и фазы сущности является нулевым, даже если они заполнены в базе данных. Соответствующие клавиши верны и имена заполнены. Что пошло не так? И есть ли какой-то подход, который нужно сделать, чего мне не хватает? То, что я пытаюсь выполнить, это:
У меня было много отношений между многими, которые отлично работали между ProjectType и Phase. Однако, поскольку для этой таблицы нет идентификатора, ничего не получилось в том порядке, в котором я собирался. Я искал решение, и это была отдельная сущность, которая могла бы обрабатывать отношения между ProjectType и Phase и добавлять дополнительные столбцы. Правильно ли это?
У вас есть опечатка в 'ProjectTypePhase'' inversedBy' или они верны? – DonCallisto
Это должно быть правильно: @ORM \ Table (name = "project_type_phase") – DaViDa