如何在Hautelook AliceBundle中设置DataFixTures



我很难通过使用Hautelook捆绑包在DataFixtures中添加角色来解决此问题。我创建了一个提供商,该提供商将为固定装置添加角色

<?php
namespace AdminBundleDataFixturesFakerProvider;
use AppBundleEntityAdminUserTypes;
class Roles
{
    public function roleAdvocate(){
        return ['ROLE_ADMIN', 'ROLE_ADVOCATE'];
    }
}

在我的datafixtures yml中,我有此代码

AppBundleEntityAdminUser:
    adminuser_101:
        username: '<username()>'
        email: '<email()>'
        adminUserType: 2
        enabled: true
        roles: '<roleAdvocate()>'

当我运行phpunit的时间时,我总是会从角色中获得此结果错误

  Warning: in_array() expects parameter 2 to be array, null given

我现在不知道如何修复它。甚至我调整了阵列。我有一个错误。我有这个链接,但也不起作用。相同的结果

您可以简单地在管理器实体中定义$ roper:

/**
 * @var array
 */
protected $roles = [];

默认情况下,$ $角色是空的,不能用作数组。

语法,用于带有aliceBundle的数组使用[]

所以这应该有效:

AppBundleEntityAdminUser: adminuser_101: username: '<username()>' email: '<email()>' adminUserType: 2 enabled: true roles: ['<roleAdvocate()>']

在我的项目中。我创建了另一个称为 Adminususer Entity 的实体。这个实体我继承了抽象类用户

class AdminUser extends User

然后我意识到我忘了添加此方法来继承父母的构造函数。

 public function __construct()
    {
        parent::__construct();
    }

相关内容

  • 没有找到相关文章

最新更新