如何在 hautelook alicebundle 中设置角色数据夹具?
how to set roles datafixtures in hautelook alicebundle?
我很难通过使用 hautelook 包在数据夹具中添加角色来解决这个问题。我创建了一个提供程序,它将向固定装置添加角色
<?php
namespace AdminBundle\DataFixtures\Faker\Provider;
use AppBundle\Entity\AdminUserTypes;
class Roles
{
public function roleAdvocate(){
return ['ROLE_ADMIN', 'ROLE_ADVOCATE'];
}
}
在我的 datafixtures yml 中我有这个代码
AppBundle\Entity\AdminUser:
adminuser_101:
username: '<username()>'
email: '<email()>'
adminUserType: 2
enabled: true
roles: '<roleAdvocate()>'
当我 运行 phpunit 时,我总是从角色
得到这个结果错误
Warning: in_array() expects parameter 2 to be array, null given
我现在不知道如何修复它。即使我调整阵列。我得到一个错误。我有这个 link 但它也不起作用。同样的结果
在我的项目中。我创建了另一个名为 AdminUser Entity 的实体。这个实体我继承抽象class用户
class AdminUser extends User
然后我意识到我忘记添加这个方法来继承parents构造函数。
public function __construct()
{
parent::__construct();
}
您可以像在您的 AdminUser 实体中那样简单地定义 $roles :
/**
* @var array
*/
protected $roles = [];
默认情况下 $roles 为 null,不能用作数组。
带 AliceBundle 的数组语法使用 []
所以这应该有效:
AppBundle\Entity\AdminUser:
adminuser_101:
username: '<username()>'
email: '<email()>'
adminUserType: 2
enabled: true
roles: ['<roleAdvocate()>']
我很难通过使用 hautelook 包在数据夹具中添加角色来解决这个问题。我创建了一个提供程序,它将向固定装置添加角色
<?php
namespace AdminBundle\DataFixtures\Faker\Provider;
use AppBundle\Entity\AdminUserTypes;
class Roles
{
public function roleAdvocate(){
return ['ROLE_ADMIN', 'ROLE_ADVOCATE'];
}
}
在我的 datafixtures yml 中我有这个代码
AppBundle\Entity\AdminUser:
adminuser_101:
username: '<username()>'
email: '<email()>'
adminUserType: 2
enabled: true
roles: '<roleAdvocate()>'
当我 运行 phpunit 时,我总是从角色
得到这个结果错误 Warning: in_array() expects parameter 2 to be array, null given
我现在不知道如何修复它。即使我调整阵列。我得到一个错误。我有这个 link 但它也不起作用。同样的结果
在我的项目中。我创建了另一个名为 AdminUser Entity 的实体。这个实体我继承抽象class用户
class AdminUser extends User
然后我意识到我忘记添加这个方法来继承parents构造函数。
public function __construct()
{
parent::__construct();
}
您可以像在您的 AdminUser 实体中那样简单地定义 $roles :
/**
* @var array
*/
protected $roles = [];
默认情况下 $roles 为 null,不能用作数组。
带 AliceBundle 的数组语法使用 []
所以这应该有效:
AppBundle\Entity\AdminUser:
adminuser_101:
username: '<username()>'
email: '<email()>'
adminUserType: 2
enabled: true
roles: ['<roleAdvocate()>']