Symfony2在保存时仍然存在错误

时间:2012-05-22 23:58:26

标签: symfony

当我尝试使用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';
}
}

1 个答案:

答案 0 :(得分:0)

你可以发布PostType类吗?

您使用的是调试页吗? (/app_dev.php)。


修改

只需添加:

public function getDefaultOptions(array $options) {
    return array(
        'data_class' => 'blog\PostBundle\Entity\Post',
    );
}