Symfony 4.0
Сущность:
https://pastebin.com/V7amJQED
Форма:
<?php
namespace App\Form\Dashboard\Book;
use App\Entity\Book;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
class BookEditType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('cover', FileType::class)
->add('slug', TextType::class)
->add('name', TextType::class)
->add('description', TextareaType::class)
->add('plot', TextareaType::class)
->add('published_at', DateType::class, [
'years' => range(date('Y') - 25, date('Y')),
])
->add('save', SubmitType::class);
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Book::class,
]);
}
}
При попытке перейти по адресу, где размещена форма:
The form's view data is expected to be an instance of class Symfony\Component\HttpFoundation\File\File, 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 Symfony\Component\HttpFoundation\File\File.
Если попробовать так:
$resolver->setDefaults([
'data_class' => null,
]);
Появляется другая ошибка:
Cannot read index "cover" from object of type "App\Entity\Book" because it doesn't implement \ArrayAccess.
Подумал что ошибка возникает именно из-за поля cover файл), полностью удалил его с формы - та же ошибка, но со сл. полем и т.д.
Аналогичная форма добавления сущности:
https://pastebin.com/0MptL1H4
Здесь все ок, что я делаю не так?