0

我是 Symfony 的新手,通过创建一个小项目来学习 Symfony2。

/ * * UserType buildform 函数* /

$age_choices = array('18'=>'18+','25'=>'25+','30'=>'30+','40'=>'40+','50'=>'50+');

$complextion_choices = array('Moderate'=>'Moderate','Fair'=>'Fair');

$builder
                ->add('first_name', 'text')
                ->add('last_name', 'text')
                ->add('email', 'text')
                ->add('phone', 'text', array('required' => false))
                ->add('age', 'choice', array('choices' => $age_choices) )
                ->add('complextion', 'choice', array('choices' => $complextion_choices) );

/ * *创建用户表单* ** /**

$user = new Users();

$form = $this->createForm(new UsersType());

return $this->render('TrytillUserBundle:User:signup.html.twig', array('form' => 
$form->createView()));

现在,当我提交此表单时.. 使用以下方式获取它。

$user = new Users();

$form = $this->createForm(new UsersType(), $user);

$form->bindRequest($request);


if ($form->isValid()) {

   /// some task here.

}

return $this->render('TrytillUserBundle:User:signup.html.twig', array('form' => $form->createView()));

问题是在 bindRequest 行它告诉我实体用户中不存在属性 first_name。

我已经使用教义创建了用户实体,它是 Entity/Users.php 中的私有 $firstName

谢谢你的帮助。

4

1 回答 1

1

尝试->add('firstName', 'text')而不是->add('first_name', 'text')在你的UserType::buildForm函数中,同样适用于last_name.

于 2012-05-16T10:25:04.790 回答