2016-11-17 41 views
2

今天我试图创建一个新用户,并得到了一个错误:FOS用户错误与添加新用户

General error: 1364 Field 'expired' doesn't have a default value

当我试图新用户添加到FOS用户表此错误发生。也许这个错误来自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; 
    } 

回答