【问题标题】:Symfony form and entity data, extra property show up in entity after form submissionSymfony 表单和实体数据,表单提交后额外属性显示在实体中
【发布时间】:2016-09-08 11:42:24
【问题描述】:

我正在使用 Symfony3。

我有一个表单,SiteType,它绑定到实体 Site。我正在使用学说注释 验证表单数据。错误显示在表单中,但错误永远不会 字段 sitemap_url 消失(请参阅屏幕截图 http://imgur.com/a/RRSJt)。

调试后发现 无论我在 sitemap_url 中输入什么,它都会显示为 Site 实体的额外属性(请参阅屏幕截图 http://imgur.com/a/RRSJt

奇怪的是表单元素exclude_regex_rule 正确映射到实体属性excludeRegexRule。我期望表单字段 sitemap_url 映射到实体属性 sitemapUrl 也是如此。

处理请求的代码的sn-p SiteController.php

我的config.yml 有以下 ORM 条目。

# Doctrine Configuration
doctrine:
    dbal:
        ...
        ...
    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true

我试图了解可能出了什么问题。

如果您需要任何其他信息,请告诉我。

谢谢,

【问题讨论】:

    标签: php symfony doctrine entity


    【解决方案1】:

    在 Symfony Form Builder 中,add 方法中的 child 必须与实体 var 相对应。

    在您的 SiteType 中应该是:

    ->add('sitemapUrl', TextType::class...
    

    【讨论】:

    • 正如达蒙森所说。您的 SiteType 可能有问题。你能添加那个信息吗? :)
    • @damonsson 没用。如果您看到SiteType,则有另一个字段exclude_regex_rule 正确映射到实体字段excludeRegexRule 属性。我期待sitemap_url 是相似的并且会映射到实体字段sitemapUrl。这里underscore 用作naming stragegy。我已经用这些信息更新了我的问题。 @eli
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    相关资源
    最近更新 更多