繁体   English   中英

Symfony2 FOSRest将值设置为null

[英]Symfony2 FOSRest set value to null

在使用Symfony2构建的Web应用程序中,我需要能够将null值作为PUTPATCH请求的一部分发送到FOSRestBundle端点。 例如{ "available": null } 数据库字段是可以为nullable boolean类型,由Doctrine设置。 因此,实际上,该值必须能够为1, 0 or null (即未知)。 但是,发送null值似乎被忽略了。 这可能是Symfony2表单或FOSRest的问题。 我尝试将empty_value => nullempty_data => null到表单中,但似乎没有任何效果。 知道是否有允许接受null作为选项的设置?

Boolean通常为true或false,如何确定它是未选中的,因为它为null或未选中,因为它为false,无论是否为false。 因此,如果你想要3个选择,最好使用选择字段而不是复选框,使用(选择,是,否)和值(null,1,0)。

你可以检查这个,但我认为它不会有多大帮助https://github.com/symfony/symfony/issues/10364

尝试在您的配置中设置:

fos_rest:
    serializer:
        serialize_null: true

也许您可以尝试发送一个字符串“0”,“1”或“null”的虚拟属性,并将其公开为您的其他属性的名称。

在DB设计时将默认值设置为NULL并在使用查询插入时忽略该字段,它将自动插入NULL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM