Symfony 无法删除启用FOSOAuthBundle的用户

Symfony 无法删除启用FOSOAuthBundle的用户,symfony,fosuserbundle,fosoauthserverbundle,Symfony,Fosuserbundle,Fosoauthserverbundle,我尝试删除symfony 3应用程序中的用户。我使用FOSOAuthBundle和FOSUserBundle 我尝试了以下代码: $em = $this->getDoctrine()->getManager(); $em->remove($user); $em->flush(); 但我得到了这个错误: An exception occurred while executing 'DELETE FROM user WHERE id = ?' with params [1]

我尝试删除symfony 3应用程序中的用户。我使用
FOSOAuthBundle
FOSUserBundle

我尝试了以下代码:

$em = $this->getDoctrine()->getManager();
$em->remove($user);
$em->flush();
但我得到了这个错误:

An exception occurred while executing 'DELETE FROM user WHERE id = ?' with params [1]:\n\nSQLSTATE[23000]:
Integrity constraint violation: 1451 Cannot delete or update a parent row:
a foreign key constraint fails (`database`.`access_token`, CONSTRAINT `FK_B6A2DD68A76ED395` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`))
我有以下配置:

# FOSOAuthServerBundle configuration
fos_oauth_server:
    db_driver: orm
    client_class: OAuthBundle\Entity\Client
    access_token_class: OAuthBundle\Entity\AccessToken
    refresh_token_class: OAuthBundle\Entity\RefreshToken
    auth_code_class: OAuthBundle\Entity\AuthCode
    service:
        user_provider: fos_user.user_provider.username_email
        options:
            access_token_lifetime: 86400
            refresh_token_lifetime: 2.628e+6

如果我获得访问令牌,则用户字段始终为
null
,尽管在数据库中保存了正确的id,并且可以使用该令牌登录。

您需要配置级联操作。您需要决定在删除用户时,希望在access_令牌表上发生什么。您可以删除de令牌或将相关用户设置为空


好的,但我必须在哪里执行此操作?我在用户和访问令牌之间没有关系。我可以简单地添加用户与访问令牌的关系并定义级联操作吗?在用户实体和访问令牌实体中应该有注释。其余部分由FosOauthBundle管理。