Symfony 4 Sonata 用户包安装

Symfony 4 Sonata User Bundle Installation

我按照安装指南中的所有说明进行操作,但仍然 在 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.

我的配置与 installation guide 完全相同。

未在 Whosebug 或其他任何地方找到任何解决方案。

终于找到了解决办法,但是花了一些时间,所以我想post在这里给遇到这个问题的大家。

将此代码添加到配置(例如 sonata_core.yaml):

sonata_user:
    class:
        user:               Application\Sonata\UserBundle\Entity\User
        group:              Application\Sonata\UserBundle\Entity\Group

并在配置中更改 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

installation guide, I found it in advanced configuration 章中没有关于此的内容。

希望这对某人有所帮助。