как установить роли datafixtures в 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

Я понятия не имею, как это исправить. Даже я настраиваю массив. Я получаю ошибку. у меня есть это ссылка на сайт но это тоже не работает. тот же результат

0

Решение

Вы можете просто определить такие $ роли в вашей сущности AdminUser:

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

По умолчанию $ role имеет значение null и не может использоваться в качестве массива.

1

Другие решения

Синтаксис для массивов с AliceBundle использует []

Так что это должно работать:

AppBundle\Entity\AdminUser:
adminuser_101:
username: '<username()>'
email: '<email()>'
adminUserType: 2
enabled: true
roles: ['<roleAdvocate()>']

1

В моем проекте. Я создаю другую сущность под названием AdminUser Entity. Эту сущность я наследую абстрактному классу User

class AdminUser extends User

Затем я понимаю, что забыл добавить этот метод для наследования родительского конструктора.

 public function __construct()
{
parent::__construct();
}
-1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector