2013-05-24 16 views
5

Mam element "Komentarz", a "Komentarz" może mieć skojarzony jeden lub więcej obrazów. Jak to osiągnąć.Ustaw listę obrazów do encji za pomocą VichUploaderBundle

Teraz mam to (tylko dla jednego obrazu):

/** 
* @Assert\File(
*  maxSize="1M", 
*  mimeTypes={"image/png", "image/jpeg"} 
*) 
* @Vich\UploadableField(mapping="comment_mapping", fileNameProperty="imageName") 
* 
* @var File $image 
*/ 
protected $image; 

góry dzięki

+0

Proszę przejrzeć mój komentarz i zaakceptować go, jeśli w przeciwnym razie skomentuj to, czego nie rozumiesz, wtedy zaktualizuję moją odpowiedź. – nifr

Odpowiedz

2

Trzeba stworzyć ManyToOne relacji między swój komentarz i wizerunku podmiotów.

Więcej informacji na temat skojarzeń z doktryną 2 here.

Komentarz

/** 
* @ORM\ManyToOne(targetEntity="Image", inversedBy="comment") 
*/ 
protected $images; 

public function __construct() 
{ 
    $this->images = new ArrayCollection(); 
} 

public function getImages() 
{ 
    return $this->images; 
} 

public function addImage(ImageInterface $image) 
{ 
    if (!$this->images->contains($image)) { 
     $this->images->add($image); 
    } 

    return $this; 
} 

public function removeImage(ImageInterface $image) 
{ 
    $this->images->remove($image); 

    return $this; 
} 

public function setImages(Collection $images) 
{ 
    $this->images = $images; 
} 

// ... 

Obraz

protected $comment; 

public function getComment() 
{ 
    return $this->comment; 
} 

public function setComment(CommentInterface $comment) 
{ 
    $this->comment = $comment; 

    return $this; 
} 

// ... 

Następnie dodać pole collection form do CommentFormType z "typ" z ImageFormType (być utworzone).

+0

tak, ale w takim przypadku muszę stworzyć nowy obiekt Obraz. Chcę wiedzieć, czy można to zrobić za pomocą encji komentarza i VichUploaderBundle – Oriam

+1

Nie jest to możliwe bez dodania wielu właściwości obrazu do elementu komentarza ... ale to po prostu niepoprawne. – nifr

+0

ahh, ok, dzięki, ale to jest szalone. Czasami znasz liczbę obrazów, ale czasami nie. – Oriam

Powiązane problemy