0

我有一个实体类别,它具有像树一样的类别子项。我有一个 CategorySelectorType ,它有一些非映射字段,它们确定应该为表单数据设置什么类别。

我希望能够在任何实体中包含该 CategorySelectorType 并更新正在使用 CategorySelectorType 的实体中的映射属性。

想象

文章类型.php

$builder->add('title') ;
$builder->add('category','category_selectory') ;

因此,在绑定时,应该使用使用 CategorySelectorType 选择的任何 Categpru 来更新类别属性。

我尝试在事件列表器 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)) 
4

1 回答 1

1

我想我理解了这个问题,如果我理解了,那么正确的方法是:

$builder->add('category', new CategorySelectorType(), array('empty_value' => 'Choose a category'));
于 2013-06-08T13:58:05.023 回答