当我尝试使用Doctrine将数据从表单保存到我的数据库时,我遇到了symfony2的问题。
这是错误
array
500 Internal Server Error - InvalidArgumentException
当我展开调试时,错误似乎出现在 $ em-> persist($ user);
这是我的功能:
public function saveAction() {
$request = $this->getRequest();
$form = $this->createForm(new PostType());
if ($request->getMethod() == "POST") {
$form->bindRequest($request);
if ($form->isValid()) {
// $user = new PostEntity();
$user = $form->getData();
$em = $this->getDoctrine()->getEntityManager();
$em->persist($user);
$em->flush();
$this->user = $user;
} else {
return new Response('Erro dados invalido');
}
}else {
return new Response('Erro post');
}
}
我有什么想法可以解决这个问题吗?
修改
这是我的PostType类
<?php
namespace blog\PostBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class PostType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('title')
->add('description')
->add('date')
;
}
public function getName()
{
return 'blog_postbundle_posttype';
}
}
答案 0 :(得分:0)
你可以发布PostType类吗?
您使用的是调试页吗? (/app_dev.php)。
修改
只需添加:
public function getDefaultOptions(array $options) {
return array(
'data_class' => 'blog\PostBundle\Entity\Post',
);
}