无法将表单数据插入数据库symfony2?

时间:2015-11-15 08:38:01

标签: php symfony

我无法在symfony2中将数据表格插入数据库,我的代码:

控制器

 int count = 0;
 ArrayList<String> b = new ArrayList<>();
 while((x.hasNext()))
    {
        String a = x.next();
        if(!b.contains(a)){
           b.add(a);
        }
        count++;
    }

表单(userstype)

public function signupAction(Request $request) {
    $user = new users();
    $form = $this->createForm(new usersType(), $user);

    $form->handleRequest($request);

    if ($form->isValid() && $form->isSubmitted()) {

        $em = $this->getDoctrine()->getManager();
        $em->persist($user);
        $em->flush();

    }

实体(用户):

public function buildForm(FormBuilderInterface $builder, array $options) {
    $builder
            ->add('email','text',array(
                'label' => 'Due Date',
                'label_attr' => array(
                    'class' =>  'CUSTOM_LABEL_CLASS'
                ),
            ))
            ->add('username' ,'text',array(
                'label' => 'Due Date',
            ))
            ->add('password', 'password', array(
                'attr' => array(
                    'required' => false,
                    'class' => 'control-label',
                    'id' => 'password'
                )
            ))
            ->add('firstName')
            ->add('lastName')
            ->add('location')
            ->add('rememberToken')
            ->add('createdAt')
            ->add('updatedAt')
    ;
}

1 个答案:

答案 0 :(得分:0)

我假设您没有在FormBuilder中定义任何data_class因此该实体将不会被保留。
您可以在defaultOptions中定义data_class

use Symfony\Component\OptionsResolver\OptionsResolver;

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'AppBundle\Entity\Task',
    ));
}

有关详细信息,请查看symfony-cookbook

相关问题