Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony FOS用户错误,添加新用户_Symfony_Fosuserbundle - Fatal编程技术网

Symfony FOS用户错误,添加新用户

Symfony FOS用户错误,添加新用户,symfony,fosuserbundle,Symfony,Fosuserbundle,今天我尝试创建一个新用户,但出现了一个错误: 一般错误:1364字段“过期”没有默认值 当我尝试将新用户添加到fos用户表时发生此错误。可能是fos用户包版本的新更新导致了此错误。我怎样才能解决这个问题? 这是我的密码: if ($form->isValid()) { $event = new FormEvent($form, $request); $dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCES

今天我尝试创建一个新用户,但出现了一个错误:

一般错误:1364字段“过期”没有默认值

当我尝试将新用户添加到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;
  }

是的,这是因为FOSUserBundle版本更新

字段过期凭证过期将被删除

详情如下:

请尝试更新数据库架构,然后重试注册用户。 它应该会起作用:)