【问题标题】:Symfony - Form Generation failure: Cannot fetch TableMap for undefined tableSymfony - 表单生成失败:无法获取未定义表的 TableMap
【发布时间】:2011-04-06 01:50:54
【问题描述】:

这是一个奇怪的问题。我有一个项目启动并运行了一段时间, 这仅在我向架构中添加一个新表时才开始。

这些是相关的架构描述。每个表都存在并匹配:

  comment:
    id:
    message:         longvarchar
    quote_id:
    reply_id:        { type: integer, foreignTable: comment, foreignReference: id}
    created_by:      { type: integer, foreignTable: sf_guard_user, foreignReference: id, onDelete: setnull }
    created_at:
    updated_at:

  quote:
    id:
    account_number:
    customer_name:
    ...
    created_at:
    updated_at:         

  contract
    id:
    account_number:  varchar(32)
    customer_name:   varchar(64)
    ...
    created_at:
    updated_at:

  contract_comment:
    id:
    contract_id:
    comment_id:

当我运行 ./symfony propel:build --all 时,它会构建模型类, 并开始构建表单类,然后错误提示:

无法获取未定义的 TableMap 表:评论

但是,很明显该表确实存在。如果我删除 架构中的contract_comment 条目,然后重建,cmets 工作正常。

我在这里查找了其他遇到此错误的用户,但没有一个解决方案 适用于我的情况。

【问题讨论】:

  • 嗨,@Geoff!我建议您使用详细的语法来描述您的架构。实际上,有时自动魔法并不像预期的那样好。
  • 可能是一个明智的建议,尤其是在这种情况下。谢谢。

标签: php forms symfony1 generator propel


【解决方案1】:

您是否尝试将评论表重命名为其他名称? 我在一个名为“project”的表上遇到了类似的问题,因为在尝试构建所有内容时,这显然是 Propel (?) 中的一个特殊词。将其重命名为 jump_project 或任何解决问题的方法。

【讨论】:

    【解决方案2】:

    我自己也遇到了这个问题。

    解决方案是更新作曲家自动加载器以包含新的表类/基础/地图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      • 2019-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多