添加新用户时出现 FOS 用户错误
FOS user error with add new user
今天我尝试创建一个新用户并遇到错误:
General error: 1364 Field 'expired' doesn't have a default value
当我尝试向 fos 用户 table 添加新用户时发生此错误。也许这个错误来自 fos 用户包版本的新更新。我该如何解决?
这是我的代码:
if ($form->isValid()) {
$event = new FormEvent($form, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
$em = $this->getDoctrine()->getManager();
$language = $em->getRepository('AppBundle:Language')->findOneBy(['code' => $request->getLocale()]);
$user->setLanguage($language);
$user->addRole('ROLE_FARMER');
$level = $em->getRepository('AppBundle:Level')->find($request->request->get('fos_user_registration_form')['level']);
$user->getClient()->setLevel($level);
$user->getClient()->setUser($user);
try {
$userManager->updateUser($user);
$team = new Team();
$team->setClient($user->getClient());
$team->setUser($user);
$em->persist($team);
$em->flush();
} catch (\Exception $e) {
$errorMessage = $e->getMessage();
$errorForm = $this->showErrors($form, $errorMessage);
return $this->render('FOSUserBundle:Registration:register.html.twig', array(
'form' => $errorForm->createView(),
));
}
if (null === $response = $event->getResponse()) {
$url = $this->generateUrl('fos_user_registration_confirmed');
$response = new RedirectResponse($url);
}
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
return $response;
}
是的,是因为FOSUserBundle版本更新。
字段 expired 和 credentialsExpired 已删除。
更多详情:
https://github.com/FriendsOfSymfony/FOSUserBundle/commit/4ea37a5f7ef423b03b0619fc7cbe0d1ae436edff
尝试更新您的数据库架构,然后再次尝试注册用户。
它应该有效:)
今天我尝试创建一个新用户并遇到错误:
General error: 1364 Field 'expired' doesn't have a default value
当我尝试向 fos 用户 table 添加新用户时发生此错误。也许这个错误来自 fos 用户包版本的新更新。我该如何解决?
这是我的代码:
if ($form->isValid()) {
$event = new FormEvent($form, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
$em = $this->getDoctrine()->getManager();
$language = $em->getRepository('AppBundle:Language')->findOneBy(['code' => $request->getLocale()]);
$user->setLanguage($language);
$user->addRole('ROLE_FARMER');
$level = $em->getRepository('AppBundle:Level')->find($request->request->get('fos_user_registration_form')['level']);
$user->getClient()->setLevel($level);
$user->getClient()->setUser($user);
try {
$userManager->updateUser($user);
$team = new Team();
$team->setClient($user->getClient());
$team->setUser($user);
$em->persist($team);
$em->flush();
} catch (\Exception $e) {
$errorMessage = $e->getMessage();
$errorForm = $this->showErrors($form, $errorMessage);
return $this->render('FOSUserBundle:Registration:register.html.twig', array(
'form' => $errorForm->createView(),
));
}
if (null === $response = $event->getResponse()) {
$url = $this->generateUrl('fos_user_registration_confirmed');
$response = new RedirectResponse($url);
}
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
return $response;
}
是的,是因为FOSUserBundle版本更新。
字段 expired 和 credentialsExpired 已删除。
更多详情: https://github.com/FriendsOfSymfony/FOSUserBundle/commit/4ea37a5f7ef423b03b0619fc7cbe0d1ae436edff
尝试更新您的数据库架构,然后再次尝试注册用户。 它应该有效:)