3
У меня есть объект «Новости» с полями:Symfony типа 3 формы ошибка
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length=100)
*/
protected $name;
/**
* @ORM\Column(type="text")
*/
protected $description;
Я генерировать форму в моем контроллере:
public function createNewsAction(Request $request)
{
$news = new News();
$news->setName('New!');
$news->setDescription('test');
$form = $this->createFormBuilder($news)
->add('name', TextType::class)
->add('description', TextType::class)
->add('save', SubmitType::class, array('label' => 'Create Task'))
->getForm();
return $this->render('frontend/createNews.html.twig', array(
'form' => $form->createView(),
));
}
И когда я пытаюсь вызвать этот метод (» createNewsAction ") Я получил ошибку:
Could not load type "Doctrine\DBAL\Types\TextType"
500 Internal Server Error - InvalidArgumentException
Stack Trace
in vendor\symfony\symfony\src\Symfony\Component\Form\FormRegistry.php at line 87 -
if (class_exists($name) && in_array('Symfony\Component\Form\FormTypeInterface', class_implements($name))) {
$type = new $name();
} else {
throw new InvalidArgumentException(sprintf('Could not load type "%s"', $name));
}
}
Что я делаю не так с этим кодом?
TextType и SubmitType нужно использовать заявление. Проверьте примеры. – Cerad
Я нахожу ошибку. В инструкции контроллера вместо «Использовать Doctrine \ DBAL \ Types \ TextType;» должен быть «использовать Symfony \ Component \ Form \ Extension \ Core \ Type \ TextType;" – raskopin