0
我在挑戰控制器的「新行爲」中擁有此代碼。當我提交我的挑戰表時,它會引發錯誤「field player_one does not exist」。「字段不存在」 - 提交表單時出錯
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數據。 – 2011-12-13 22:00:34