迁移角色 - 用户实体内的外键设置

问题描述

我在迁移过程中遇到问题。 总结我的工作,我创建了:

  1. 具有属性用户实体:$id、$username、$password、$email 和 $role(具有 Role 实体的外键关系 ManyToOne):user.php

  2. 具有属性的角色实体:$id,$role(类型关系 OnetoMany 与 User 实体) 创建关系时,在方法 addRole 和 removeRole 中创建了 2 个错误addRole error msg

  3. 类 User 由 UserInterface 实现,因此认需要以下 5 个方法: (getRoles(),getpassword(),getSalt(),getUsername(),eraseCredentials() )

  4. 我在 CLI 中安装了 DataFixture 包,以便在 UserFixture 实体中创建假配置文件用户。 虚假个人资料的创建方式如下:UserFixture.php

    公共函数加载(ObjectManager $manager)
    {
    // Création d'un utilisateur admin pour test dans BDD :
    $user = new User();
    $user->setUsername('admin');
    $user->setPassword(
    $this->encoder->encodePassword($user,'monmotdepasse')
    );
    $user->setEmail('monemail@monemail.fr');
    $manager->persist($user); // sauvegarde de la donnée avant envoi BDD
    $manager->flush();
    }

  5. 一个问题:我想在这个 UserFixture 上添加角色属性,因为我在角色实体中设置了角色属性不能为空,但是当我尝试在加载函数添加该行时:
    $user->setRole('ROLE_ADMIN');
    Symfony 不允许 => 错误预期类型 'null|App\Entity\Role'。找到 'string'.intelephense(1006)

  6. 我尝试在 CLI 上启动迁移和迁移,除此之外还收到以下错误消息:
    SQLState Error

如果有人可以帮助我了解问题的出处?
谢谢您的帮助。 Ps:UML > UML

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)