0
У меня есть этот код в моем «новом действии» контроллера Challenge. Это бросает мне ошибку «поле player_one не существует», когда я отправляю свою форму Challenge.«Поле не существует» -error при отправке формы
if ($form->isValid())
{
foreach($form->get('teams') as $team_form)
{
$player_one = $team_form->get('player_one')->getData();
$player_two = $team_form->get('player_two')->getData();
$user_one = $this->getDoctrine()->getRepository('TennisconnectUserBundle:User')->findOneByUsername($player_one);
$user_two = $this->getDoctrine()->getRepository('TennisconnectUserBundle:User')->findOneByUsername($player_two);
// Add user(s) to the two teams
foreach($challenge->getTeams() as $i => $team)
{
// First team
if($i == 0)
{
if($user_one)
{
$team->addUser($user_one);
} elseif($user_two)
{
$team->addUser($user_two);
}
}
// Second team
elseif($i == 1)
{
if($user_one)
{
$team->addUser($user_one);
} elseif($user_two)
{
$team->addUser($user_two);
}
}
}
}
$em = $this->getDoctrine()->getEntityManager();
$em->persist($challenge);
$em->flush();
return $this->render('TennisconnectDashboardBundle:Default:index.html.twig', array('form' => $form->createView(), 'user' => $user));
}
Но когда я отладки "$ Player_One", это дает мне правильное значение из текстового поля:
$player_one = $team_form->get('player_one')->getData();
die($player_one);
код, который вы публикуемые не кажется, отношения к задаваемому вопросу. Код, который вы отправили, будет выполняться, если проверка формы прошла успешно, и вы говорите, что это не так. Нам нужно увидеть, что происходит внутри метода isValid() формы. Так же как образцы $ _POST данных, представленных через указанную форму. –
Я думаю, что это действительно так, потому что, когда я набираю 'die ("test")' внутри 'if (isValid())', а затем отправляю форму, он умирает и показывает сообщение 'test' – mattyh88