【问题标题】:symfony call parent form constructor from child formsymfony 从子窗体调用父窗体构造函数
【发布时间】:2014-11-15 14:57:33
【问题描述】:

我在 symfony 中有三种形式,其中两种是第三种形式的子形式。 在父表单中,我有以下内容:

    ->add('category', 'entity',array(
            'class' => 'AppBundle:MarketPlace\ProductCategory',
            'query_builder'=>$this->QueryBuilder
        ))

在我拥有的子表单和父表单中

public function __construct($queryBuilder=null)
{
    $this->queryBuilder=$queryBuilder;
}

我想将查询构建器传递给父级,以避免在每个子级中重复字段属性。例如:

public function __construct($queryBuilder=null)
{
    $this->queryBuilder=$queryBuilder;
     $this->getParent()->__construct($queryBuilder)
}

我想在实例化孩子时传递一个查询构建器,并在父表单中使用这个查询构建器,如上所示。知道子表单扩展 AbstractType 并使用常规 getParent 方法引用父表单,我如何调用父表单的构造函数?

我的想法是在实例化它们时将不同的查询构建器传递给子级,但保持子级之间通用的字段体系结构(因此我将它放在父级中) - 子级在表单的其他元素上会有所不同。

【问题讨论】:

    标签: forms symfony constructor query-builder


    【解决方案1】:

    表单字段父级与 PHP 扩展父级不同。你不能这样做。如果你想这样做,你必须在表单类型中添加选项来设置查询生成器。

    【讨论】:

    • 好吧,我想我必须坚持在子表单中定义所有需要构造函数属性的字段......谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多