这是输入用户名的源代码是:
<input type="text" id="user_username" name="user[username]" >
Run Code Online (Sandbox Code Playgroud)
当我尝试在控制器中获取它时,我收到此错误:
Child "username" does not exist
Run Code Online (Sandbox Code Playgroud)
控制者:
//.......
if ($request->getMethod() == 'POST') {
$form->handleRequest($request);
$i = 0;
$username = $form["username"]->getData();
$user= $em->getRepository('UsersBundle:User')->findOneByUsername($username);
//.......
}
Run Code Online (Sandbox Code Playgroud)
这是formType
class EleveType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('user', new UserType())
->add('ecole')
->add('niveauscolaire')
;
}
Run Code Online (Sandbox Code Playgroud)
更换
$username = $form["username"]->getData();
Run Code Online (Sandbox Code Playgroud)
同
$username = $form["user"]["username"]->getData();
Run Code Online (Sandbox Code Playgroud)