1

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

1 回答 1

0

你可以发布 PostType 类吗?

你在使用调试页面吗?(/app_dev.php)。


编辑

只需添加以下内容:

public function getDefaultOptions(array $options) {
    return array(
        'data_class' => 'blog\PostBundle\Entity\Post',
    );
}
于 2012-05-23T00:18:29.567 回答