Hiho,моя доктрина ассоциация не работает должным образом
, что я хочу добиться: у меня есть проекты, и в рамках проекта-редактирования, есть форма, в которой я могу упасть изображения на (с dropzone.js), и те, изображения сохраняются и присваиваются данному проекту.
Работы по загрузке изображений. Объекты изображения сохраняются в таблице изображений, и они имеют право project_id. Но если я получаю доступ к Project Enity, «изображения» будут «нулевыми» в массиве проектов. а не коллекция изображений Entites. Он выглядит как простая частная переменная без значения по умолчанию. Я думаю, что мои ассоциации OneToMany и ManyToOne, похоже, не работают.
Некоторые Код:
Project.php
/**
* @var ArrayCollection
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Image", mappedBy="project", cascade={"persist, remove"})
*/
private $images;
/**
* @return \Doctrine\Common\Collections\Collection
*/
public function getImages()
{
return $this->images;
}
public function addImage(Image $image)
{
$this->images[] = $image;
}
public function removeImage(Image $image) {
$this->images->removeElement($image);
}
image.php
/**
* @var \AppBundle\Entity\Project
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Project", inversedBy="images")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="project_id", referencedColumnName="id")
* })
*/
private $project;
/**
* Set project
*
* @param \AppBundle\Entity\Project $project
*
* @return Image
*/
public function setProject(\AppBundle\Entity\Project $project = null)
{
$this->project = $project;
return $this;
}
/**
* Get project
*
* @return \AppBundle\Entity\Project
*/
public function getProject()
{
return $this->project;
}
Все сохраняется в БД
но изображения является "пустой" (не ArrayCollection :()
Может быть, есть что-то отсутствует. Но я не вижу его как-то (хотя его тааак основной материал)
Приветствия Адриан
'$ Проект-> getImages()' является недействительным? –
, как вы видите в отладчике, что изображения равны нулю, getImages не имеет никакого доступа .. –
Вы проверили, как это выглядит при использовании обычного репозитория (а не преобразователя параметров)? @MaxP. это должно быть уже 'Doctrine \ ORM \ PersistentCollection' с параметром' initialized', установленным на 'false'. –