2

本质上,如果构建器附加了 hiddenType,我无法使用 orphanRemoval 删除集合。我不确定是否需要为 hiddenType 字段做一些特殊的事情才能将其删除。没有 hiddenType 字段一切正常,但是一旦我将该字段添加到构建器,当我删除集合时删除函数永远不会被调用,然后我收到一个 db 错误,告诉我字段不能为空。

如果有帮助,我正在使用 js 动态添加和删除集合。但奇怪的是,这在没有隐藏字段的情况下也能正常工作,所以我想知道是否有与其他字段类型不同的隐藏字段有关。

这不起作用

public function buildForm(FormBuilderInterface $builder, array $options) {
    $builder->add(...some fields...)
            ->add('sampleindex', HiddenType::class);
}

这确实

public function buildForm(FormBuilderInterface $builder, array $options) {
    $builder->add(...some fields...)
}

该字段通常有效,只是不删除集合。setter 和 getter 几乎是样板

public function getSampleIndex() {
    return $this->sampleindex;
}

public function setSampleIndex($sampleindex) {
 $this->sampleindex=$sampleindex;
}

我只是看不出 hiddenType 和任何其他会导致删除函数无法调用的字段类型之间的区别。

4

0 回答 0