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