我是Symfony的新手,通过创建一个小项目来学习Symfony2。
/ * * UserType构建函数 * /
$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。
我使用doctrine创建了Users Entity,它是Entity / Users.php中的私有$ firstName
感谢您的帮助。
答案 0 :(得分:1)
在->add('firstName', 'text')
函数中尝试使用->add('first_name', 'text')
代替UserType::buildForm
,同样适用于last_name
。