Недопустимый тип смещения в isset или пустой в EntityChoiceList.php, строка 273.

В моем проекте Symfony2 я попытался динамически сгенерировать сущности, используемые в моем типе формы, -передав использование построителя запросов и т. д.

Для свойства выбора сущностей я предоставляю массив сущностей для использования. При загрузке страницы все выглядит нормально, и отображается правильный контент. Однако при отправке формы я получаю

Недопустимый тип смещения в isset или пустой в строке EntityChoiceList.php 273

at ErrorHandler ->handle ('2', 'Illegal offset type in isset or empty',
'..../Symfony/Bridge/Doctrine/Form/ChoiceList/EntityChoiceList.php', '273', array('key'     => object(myEntity))) in ..../Symfony/Bridge/Doctrine/Form/ChoiceList/EntityChoiceList.php at line 273   
           .....
            return isset($entities[$key]) ? $entities[$key] : null; 
           .....

Меня ставит в тупик, если я добавляю var _dump (isset ($this ->entities[$key] ));выход; над этой строкой мне возвращается «bool (true )», что для меня означает, что ключ существует.

В качестве фона я попытался расширить EntityType для простоты в моем проекте и добавил:

public function getDefaultOptions(array $options)
{   
    $defaultOptions = array(
        'em'                => null,
        'class'             => 'Acme\TestBundle\Entity\myEntity',
        'property'          => null,
        'query_builder'     => null,
        'choices'           => $this->myEntityArray,
    );

    $options = array_replace($defaultOptions, $options);
    $defaults = parent::getDefaultOptions($options);        
    return $defaults;
}    

Есть ли у кого-нибудь какие-либо идеи, почему я получаю эту ошибку, или я все равно неправильно решаю свою проблему, пытаясь передать массив сущностей для выбора?

12
задан Pmpr 2 April 2017 в 14:22
поделиться