Symfony 4 Sonata用户捆绑包安装

Pav*_*kin 2 sonata-user-bundle symfony4

我遵循了安装指南中的所有说明,但是在Symfony 4应用程序上安装Sonata User Bundle的过程中仍然出现此错误:

Column name `id` referenced for relation from Application\Sonata\UserBundle\Entity\User towards Sonata\UserBundle\Entity\BaseGroup does not exist.
Run Code Online (Sandbox Code Playgroud)

我的配置与安装指南中的完全相同。

在stackoverflow或其他任何地方都找不到任何解决方案。

Pav*_*kin 5

最终,我找到了解决方案,但是花了一些时间,因此我想将其发布给所有遇到此问题的人。

将此代码添加到config中(例如sonata_core.yaml):

sonata_user:
    class:
        user:               Application\Sonata\UserBundle\Entity\User
        group:              Application\Sonata\UserBundle\Entity\Group
Run Code Online (Sandbox Code Playgroud)

和改变的值user_classgroup_class在配置(例如fos_user.yaml)解决了问题:

fos_user:
    db_driver:      orm
    firewall_name:  main
    user_class:     Application\Sonata\UserBundle\Entity\User
    from_email:
        address:        noreply@example.com
        sender_name:    John Doe

    group:
        group_class:   Application\Sonata\UserBundle\Entity\Group
        group_manager: sonata.user.orm.group_manager

    service:
        user_manager: sonata.user.orm.user_manager
Run Code Online (Sandbox Code Playgroud)

安装指南中没有关于此的内容,我在高级配置章节中找到了。

希望这对某人有帮助。