Я использую VichUploaderBundle в Symfony 4, и у меня есть вопрос об использовании формы для отправки множества фотографий. Для этого мне нужно использовать CollectionType и отношение «один ко многим» (один продукт имеет несколько фотографий). Ниже я представляю код, который показывает только пустую рамку формы, и в нем отсутствуют кнопки для добавления фотографий, как они есть в этом загрузчике. Я не понимаю, почему это происходит.
Сущность продукта (один ко многим):
/**
* @var ProductMultiImage[]
* One Product has Many Images.
* @ORM\OneToMany(targetEntity="App\Entity\Image\ProductMultiImage", mappedBy="product", cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private $productMultiImages = null;
Сущность изображения (многие-к-одному):
/**
* Many Images have One Product.
* @ORM\ManyToOne(targetEntity="App\Entity\Admin\Product", inversedBy="productMultiImages", cascade={"persist"})
* @ORM\JoinColumn(name="product_id", referencedColumnName="id", nullable=true)
*/
private $product = null;
Форма для добавления фотографий:
class ProductImageType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('productMultiImages', CollectionType::class, array(
'data_class' => ImageType::class,
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
))
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => null,
]);
}
}
ImageType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('imageFile', VichImageType::class)
;
}
Где я могу найти какое-либо решение?