1

像这样的一个模型:

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”来验证一个集合是不可能的(显示了验证错误额外字段)。

有任何想法吗?

4

0 回答 0