3

我想检查我的模板中的表单是否是新的,例如 symfony 1.4 中的 $form->isNew() ,但我没有找到解决方案。

目前,我正在使用这种技术:

{% null != entity.getId %}

它有效,但是还有其他更干净的解决方案吗?

4

3 回答 3

6

我用这个:

{% if form.vars.submitted == false %}DO WHATEVER HERE{% endif %}

此处有关表单函数和变量的更多信息: https ://symfony.com/doc/current/reference/forms/twig_reference.html

于 2017-10-13T15:26:48.947 回答
3

Symfony2 形式与模型的耦合比 symfony1 形式少。Symfony2 中的表单不能是“新的”或“旧的”。持久化的是实体,而不是形式。表单的工作是将提交的数据放到模型对象中。

请记住,模型类不必是学说实体(实际上可以是任何类的对象)。由您来定义对象是否为新对象(持久或不持久)的含义。同样,它不是一种持久化的形式。

顺便说一句,您可以像这样检查 id:

{% if entity.id %}{% endif %}
于 2012-09-29T22:13:03.817 回答
3

现在更好的解决方案(SF3)将是:

{% if form.vars.data.id %}{% endif %}
于 2016-07-20T21:56:37.320 回答