我有一个实体类别,它有像树这样的类别子项。 我有一个CategorySelectorType,它有一些非映射字段 确定应该将哪个类别设置为表单数据。
我希望能够在任何实体中包含该CategorySelectorType,并更新正在使用CategorySelectorType的实体中的映射属性。
想象
ArticleType.php
$builder->add('title') ;
$builder->add('category','category_selectory') ;
因此,绑定时,应使用CategorySelectorType选择Categpru来更新category属性。
我尝试在事件lister durint POST_BIND中执行此操作,但我得到了
Warning: ReflectionProperty::getValue() expects parameter 1 to be object, null given in /home/neron/sites/zabulu/trunk/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php line 697
它似乎是由
引起的 UniqueEntityValidator ->validate (object(Category), object(UniqueEntity))
答案 0 :(得分:1)
我想我理解这个问题,如果我这样做,正确的做法就是:
$builder->add('category', new CategorySelectorType(), array('empty_value' => 'Choose a category'));