Hiho,meine Lehre Verein funktioniert nicht richtig
, was ich erreichen will: i Projekte haben, und innerhalb von Projekt bearbeiten, gibt es eine Form, wo ich auf die Bilder fallen kann (mit dropzone.js) und diejenigen, Bilder werden gespeichert und dem gegebenen Projekt zugewiesen.
Das Hochladen von Bildern funktioniert, die Image-Objekte werden in der Bildtabelle gespeichert und haben die richtige project_id. Wenn ich jedoch auf Project Enity zugreife, ist "images" im Projekt-Array "null". keine Sammlung von Bildtitäten. Es sieht wie eine einfache private Variable ohne Standardwert aus. Ich denke, dass meine OneToMany und ManyToOne Assoziationen nicht zu funktionieren scheinen.
Einige Code:
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;
}
Alles auf DB
aber Bilder ist "null" (kein Arraycollection :()
Vielleicht etwas fehlt. Aber ich nicht, dass es irgendwie sehen (obwohl seine soooo grundlegende Dinge)
Prost Adrian
'$ Ausbau-> getImages()' ist null? –
Wie Sie im Debugger sehen, dass Bilder null ist, hat getImages nichts zu tun. –
Haben Sie überprüft, wie es aussieht, wenn Sie reguläres Repository verwenden (nicht Param-Konverter)? @MaxP. Es sollte bereits "Doctrine \ ORM \ PersistentCollection" sein, wobei die Eigenschaft "initialized" auf "false" gesetzt ist. –