如何基于自定义存储库方法使用DoctIneModule ObjectSelect



我有一个表格,其中属于不同类别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的选项。

相关内容

  • 没有找到相关文章

最新更新