像这样的一个模型:
class X
{
/**
* @ORM\OneToMany(targetEntity="Block", mappedBy="x",cascade={"all"}, orphanRemoval=true)
*/
private $block;
...
class Block
{
/**
* @ORM\OneToOne(targetEntity="BlockA", mappedBy="block")
*/
private $blockA;
/**
* @ORM\OneToOne(targetEntity="BlockB", mappedBy="block")
*/
private $blockB;
...
class BlockA
{
...
我可以通过 Ajax 以 XType 形式将 Blocks 动态添加到 X(集合)。它正在正确保存。
但我不能保存嵌套在块中的动态创建的 BlockA。这总是给我一个表单验证错误:“这个表单不应该包含额外的字段。”。
表单验证器允许“X”动态添加与“BlockA”或“BlockB”具有新关系的“Block”。但只是在“块”的集合中,它们都与“BlockA”类的对象有关系,或者它们都与“BlockB”类的元素有关系。用一些具有“BlockA”关系的“Block”和其他具有“BlockB”关系的“Block”来验证一个集合是不可能的(显示了验证错误额外字段)。
有任何想法吗?