В моем проекте 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;
}
Есть ли у кого-нибудь какие-либо идеи, почему я получаю эту ошибку, или я все равно неправильно решаю свою проблему, пытаясь передать массив сущностей для выбора?