在我的Symfony2的項目,我已經嘗試動態生成我的表單類型中使用的實體,繞過使用查詢生成器等非法偏移類型isset或空在EntityChoiceList.php線273
向他實體的選擇屬性我提供了一系列要使用的實體。在頁面加載一切看起來很好,並顯示正確的內容。但是在表單提交我得到EntityChoiceList.php線
非法偏移類型在isset或空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($這個 - >實體[$關鍵]));退出;在這條線上方,我返回'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;
}
有沒有人任何想法,爲什麼我收到此錯誤,或者我要對我的問題都錯了呢,試圖將一組實體傳遞給選擇?
我覺得在這浪費2小時非常愚蠢的。一定要停止工作'直到晚! :D – tftd 2014-10-05 01:27:21
爲什麼不接受這個答案?這完全正確! – Sithu 2017-07-08 07:12:35