我在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)
}
我想在实例化子项时传递一个querybuilder,并在父表单中使用此querybuilder,如上所示。如何知道父表单的构造函数知道子表单扩展AbstractType并使用常规getParent方法引用父表单?
我的想法是,我会在实例化时将不同的查询构建器传递给子项,但是保持字段的体系结构在子项中是通用的(因此我把它放在父项中) - 孩子将在表单的其他元素上有所不同。 / p>
答案 0 :(得分:0)
表单字段父项与PHP扩展父项不同。你不能这样做。如果要执行此操作,则必须向表单类型添加选项以设置查询构建器。