sonata-user-bundle - Symfony 4 Sonata 用户包安装

标签 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.

我的配置和 installation guide 中的完全一样.

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

最佳答案

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

将此代码添加到配置中(例如 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 中没有关于此的内容, 我在 advanced configuration 中找到它章节。

希望这对某人有所帮助。

关于sonata-user-bundle - Symfony 4 Sonata 用户包安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48445104/

相关文章:

sonata-admin - 奏鸣曲用户包 + Symfony 3.x

symfony - 奏鸣曲管理员 : Forgotten Password

php - 将table1的外键设置在table2的主键的一部分上

symfony - 用 fosuser 覆盖注册 Controller 无法 Autowiring 服务 "App\Controller\RegistrationController"

Symfony2 - block 类型 sonata.user.block.menu 不存在

php - Symfony2 - 奏鸣曲和 KnpMenu - setCurrentUri

php - 如何仅针对某个 Controller 操作禁用实体缓存到 Redis?

mysql - Symfony4.1 Doctrine ManyToMany 减少查询次数

php - 更新composer.json中的symfony/symfony版本