我有带有字段的实体"新闻":
/**
* @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));
}
}
我用这段代码做错了什么?
检查控制器顶部的use
语句...
您可能已经使用过:
use Doctrine'DBAL'Types'TextType
它应该是:
use Symfony'Component'Form'Extension'Core'Type'TextType;