Как бороться с переменными массивов в Twig на EasyAdminBundle?

У меня есть это определение сущности:

class Operator
{
...

/**
* @var array
* @ORM\Column(type="text", nullable=true)
*/
private $prefix;

/**
* @param $prefix
* @return $this
*/
public function addPrefix($prefix)
{
if (!in_array($prefix, $this->prefix, true)) {
$this->prefix[] = $prefix;
}
return $this;
}

/**
* @param array $prefixes
* @return $this
*/
public function setPrefix(array $prefixes)
{
$this->prefix = array();

foreach($prefixes as $prefix) {
$this->addPrefix($prefix);
}

return $this;
}

/**
* @return array The prefixes
*/
public function getPrefix()
{
$prefix = is_array($this->prefix) ? $this->prefix : ['04XX'];
return array_unique($prefix);
}

...
}

я использую EasyAdminBundle для управления этим объектом в бэкэнде, вот его конфигурация:

easy_admin:
entities:
Operator:
class: PlatformAdminBundle\Entity\Operator
...
form:
fields:
...
- { property: 'prefix', label: 'prefix' }

Каждый раз, когда я пытаюсь создать новый Operator Я сталкиваюсь с этой ошибкой:

ContextErrorException: Примечание: преобразование массива в строку

Я не могу найти, где проблема, так как я использую то же самое на User сущность, которая наследуется от BaseUser (от FOSUser) и все работает. Вот как это выглядит для User сущность и должна быть одинаковой для Operator:

введите описание изображения здесь

Чего мне не хватает? Кто-нибудь может дать мне совет? Я застрял!

0

Решение

Столбец префикса Orm должен быть типом массива.

/**
* @var array
* @ORM\Column(type="array", nullable=true)
*/
private $prefix;

И беги

php app/console doctrine:schema:update --force
1

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

Других решений пока нет …

По вопросам рекламы [email protected]