Вот как исходный код входного имени пользователя:
<input type="text" id="user_username" name="user[username]" >
Когда я пытаюсь получить его в контроллере, я получаю эту ошибку:
Child "username" does not exist
Контроллер:
//....... if ($request->getMethod() == 'POST') { $form->handleRequest($request); $i = 0; $username = $form["username"]->getData(); $user= $em->getRepository('UsersBundle:User')->findOneByUsername($username); //....... }
Это th formType
class EleveType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('user', new UserType()) ->add('ecole') ->add('niveauscolaire') ; }
замещать
$username = $form["username"]->getData();
с
$username = $form["user"]["username"]->getData();
В моем случае мне нужно использовать:
$username = $form["user"]["username"]->getViewData();
вместо:
$username = $form["user"]["username"]->getData();
Спасибо за ориентацию @Jacob, которые помогают мне и жаль моего английского shinny.