在自定义表单类型中设置属性值

时间:2013-06-08 11:30:15

标签: php symfony symfony-2.2 symfony-2.3

我有一个实体类别,它有像树这样的类别子项。 我有一个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)) 

1 个答案:

答案 0 :(得分:1)

我想我理解这个问题,如果我这样做,正确的做法就是:

$builder->add('category', new CategorySelectorType(), array('empty_value' => 'Choose a category'));