Задать вопрос

VichUploaderBundle запрашивает поле, которого нет?

1) Использую VichUploaderBundle для загрузки файлов

2) Сделал два поля, одно которое хранит название и второе локатор файла

/**
     * @ORM\Column(type="string", length=255)
     */
    private $articleImage;

    /**
     * NOTE: This is not a mapped field of entity metadata, just a simple property.
     *
     * @Vich\UploadableField(mapping="article_image", fileNameProperty="articleImage", size="imageSize", mimeType="image.mimeType")
     *
     * @var File
     */
    private $imageFile;


3) Сделал вот такую форму:

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('articleTitle')
            ->add('articleBody')
            ->add('thumbNumber')
            ->add('seoDescription')
            ->add('imageFile', VichImageType::class, [
                'required' => false,
                'allow_delete' => true,
                'download_label' => '...',
                'download_uri' => true,
                'image_uri' => true,
            ])
            ->add('save', SubmitType::class, array('label' => 'Создать статью'))
        ;
    }


4) И вот так пробую сохранить:

$form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $article = $form->getData();

            $entityManager = $this->getDoctrine()->getManager();
            $entityManager->persist($article);
            $entityManager->flush();

            return $this->redirectToRoute("gate");
        }


В итоге, идет ошибка

Neither the property "image" nor one of the methods "getImage()", "image()", "isImage()", "hasImage()", "__get()" exist and have public access in class "App\Entity\Article".

Хотя у меня нет поля image, и я не пойму, откуда оно взялось.
  • Вопрос задан
  • 208 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@maninhat
Используется в параметре mimetype в аннотации @Vich\UploadableField
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы