我必须测试当前用户是否存在于其他表中? 如何访问userOldList列表中的getId:以下代码产生错误:HTTP ERROR 500
$user = new User();
$repositoryUserOld= $this->getDoctrine()->getRepository(userOld::class);
$userOldList = $repositoryUserOld->findAll();
$form = $this->createForm(UserType::class, $user);
$form->handleRequest($request);
$em = $this->getDoctrine()->getManager();
if ($form->isSubmitted() && $form->isValid()) {
foreach ($userOldlList as $userO ) {
If ($user->getId() == $userO->getId() )
{
$form->get('id')->addError(new FormError('User exists'));
return $this->render('AppBundle:MyApp:user.html.twig', array('form' => $form->createView()));
}
}
答案 0 :(得分:0)
在foreach
中,您正在使用变量$userOldlList
(请注意l
和Old
之间的List
),但是在顶部定义变量{{1} }。我认为这就是为什么会出现错误500。
关于如何更有效地执行此操作,可以替换整个$userOldList
块(仅foreach
中的条件是新代码;内部块是问题的副本,而没有任何更改) :
if
顺便说一句,最初,我只是将您的代码复制粘贴到PhpStorm中的一个新文件中,它立即突出显示了拼写错误的变量。拥有一个可以在键入时检查代码的工具,这是提高生产率的好方法。