基本上,如果构建器附加了hiddenType,则无法使用orphanRemoval删除集合。我不确定是否需要某些特殊的操作才能使hiddenType字段删除。没有hiddenType字段,一切都可以正常工作,但是一旦将字段添加到构建器中,则删除集合时就不会调用remove函数,然后会出现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...)
}
该字段通常有效,只是不删除集合。塞特和吸气剂几乎是样板
public function getSampleIndex() {
return $this->sampleindex;
}
public function setSampleIndex($sampleindex) {
$this->sampleindex=$sampleindex;
}
我只是看不到hiddenType和任何其他导致无法调用remove函数的字段类型之间的区别。