我是 symfony (2.1) 的新手,我有一个简单的问题,我想改变“实体字段类型”在表单中的选择标签中生成选择列表的方式。
在我的 categoryType.php 中,在 buildForm 方法中我有这样的东西:
$builder
->add('parent', 'entity', array(
'class' => 'TestAdvBundle:Category',
'property' => 'name',
'label' => 'label.parent',
))
;
这很好用,所有保存在 db 中的 Category 实体都以生成的形式出现在 select 标记中。但我想做的是稍微改变这个生成的选择列表。实际上,我想要一个代表“根类别”的列表中的“假”选择,并且我不希望在此处列出我编辑的对象(此字段是父 ID,它指向与编辑对象相同的对象类型等。这个字段是我编辑的类别的父类别,所以实际上我不希望能够选择 self 作为父类别)。
我猜这个“实体字段类型”使用findAll()
存储库方法来获取它的结果。所以我做了特定的findAllForList()
方法,我返回想要的数组。但是我找不到告诉“实体字段类型”使用我的存储库方法而不是findAll()
.