我有一个表格,其中属于不同类别A和B的人列表。我的问题是我有一个带有DoctrineModule Objectect的表格,我想仅在Objectsect中显示A。
的人的名称。我发现此https://github.com/doctrine/doctrinemodule/blob/master/docs/docs/form-element.md#example-3--------------------------------------------------- extended-version- extended-version尚不清楚,但我不明确T知道如何适应我的情况。
谢谢。
对不起我的英语。
它实际上与您正在查看的示例非常相似(我想这就是为什么没有示例的原因),唯一的区别是,而不是使用find/findbod/...您将自定义存储库名称作为名称键,其代码类似:
$this->add(array(
'name' => 'my-select-object',
'type' => 'DoctrineModuleFormElementObjectSelect',
'attributes' => array(
),
'options' => array(
'label' => 'My Label',
'object_manager' => $entityManager,
'target_class' => 'ApplicationEntityMyEntity',
'property' => 'name',
'is_method' => true,
'find_method' => array(
'name' => 'myCustomRepositoryMethod',
'params' => array(
),
),
),
));
还注意到您的实体需要了解存储库的存在,因此请确保它使用此行:
@ORMEntity(repositoryClass="ApplicationEntityRepositoryMyCustomRepository")
因此,当您使用此objectSelect打开表单时,它将调用您的存储库方法,而不是直接加载下拉菜单。该方法应仅返回一个实体对象的数组,然后由Objectselect使用该数组来生成Select Element的选项。