在Symfony 2中重置提交的表单

时间:2015-07-10 22:42:07

标签: php symfony variables

我将来自远程源的一些数据映射到我的entites中。我为此目的使用表格。这是一段代码片段,负责将数据映射到实体:

    $i = 0;
    $x = 0;
    foreach ($bestellerLists[0] as $bestsellerList) {
        $List[$i] = new BestsellerList();
        foreach ($bestsellerList['books'] as $book) {
            $Book = new Book();
            $bookForm = $this->bookForm;
            $bookForm->setData($Book);
            $bookForm->submit($book);
            $List[$i]->addBook($Book);
            unset($bookForm);
            unset($Book);
            $x = $x + 1;
        }
        $i = $i+ 1;
    }

我无法解决的问题是,在第一次迭代中,如果内部foreach循环,一切正常,实体被映射,第一个$Book被添加到当前$List

然而,内循环的第二次交互错误出现:

  

您无法更改已提交表单的数据。

如您所见,$bookForm的值已分配$bookForm = $this->bookForm。在当前迭代结束时我unset $bookForm以便在下一次迭代中创建一个新的。

我真的不明白为什么Symfony会抱怨改变提交表单的数据。每次迭代都应使用一个新的空表单。知道我在这里可能缺少什么吗?

0 个答案:

没有答案