1. W jaki sposób opisać encję np. Produkt, któremu chciałbym dołączać jedno zdjęcie?
2. W jaki sposób opisać taką encję, gdybym chciał żeby produkt miał wiele zdjęć?
3. A gdyby miał mieć dokładnie 3 zdjęcia?
Czy powinienem zrobić pole image i ustawić relację OneToOne lub ManyToOne do obiektu Media?
A może do obiektu Gallery? Do czego właściwie służy ta Gallery?
Dodam jeszcze, że obecny stan wygląda tak, że dodałem pole $image do obiektu Category:
/** * @ORM\Column(type="string", length=255) */ private $image;
W Admin/CategoryAdmin.php konfiguruję pole w taki sposób:
'provider' => 'sonata.media.provider.image', 'context' => 'default', 'data_class' => 'Application\Sonata\MediaBundle\Entity\Media', 'required' => false, 'label' => 'Image' ))
I wyświetla mi się formularz poprawnie, z polem typu file dla $image, ale po zapisaniu formularza otrzymuję:
Kod
The form's view data is expected to be an instance of class Application\Sonata\MediaBundle\Entity\Media, but is a(n) string. You can avoid this error by setting the "data_class" option to null or by adding a view transformer that transforms a(n) string to an instance of Application\Sonata\MediaBundle\Entity\Media.