【问题标题】:Base table or view not found - symfony2找不到基表或视图 - symfony2
【发布时间】:2023-04-01 05:56:01
【问题描述】:

我在部署 symfony2 应用时遇到问题。我收到以下错误:

SQLSTATE[42S02]: Base table or view not found: 1146 Table '14271425_sjokh.Books' doesn't exist 

我发现此错误与案例问题有关。

给定的表存在于服务器上,但称为books 而不是Books

我试图通过修改 config.yml 来解决这个问题,将其添加到 naming_strategy: doctrine.orm.naming_strategy.underscore(此处建议:Symfony2: Base table or view not found: 1146)但它没有帮助。

doctrine:

    orm:
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_generate_proxy_classes: "%kernel.debug%"
        auto_mapping: true

【问题讨论】:

    标签: symfony


    【解决方案1】:

    学说下划线命名策略不会使实体名称复数,例如 RoR 中的情况。

    因此,对于 Book 实体,下划线策略需要名为 book 的表。对于 SomeCamelcase 实体,它需要 some_camelcase 表。

    您应该重命名您的表或通过配置告诉教义表名称是什么。例如,如果使用注释,它将是:

    /**
     * @ORM\Table(name="books")
     */
    class Book
    {
        // ....
    }
    

    【讨论】:

      【解决方案2】:

      看来我的问题与教义注释中的错误案例有关。

      我删除了以下代码:

       * @ORM\Table(name="Books")
      

      这与配置文件的编辑一起添加:

      doctrine:
      
          orm:
              naming_strategy: doctrine.orm.naming_strategy.underscore
              auto_generate_proxy_classes: "%kernel.debug%"
              auto_mapping: true
      

      使脚本工作。

      【讨论】:

        猜你喜欢
        • 2023-03-26
        • 2015-11-19
        • 2023-04-08
        • 1970-01-01
        • 2019-01-28
        • 2017-08-02
        • 2023-03-08
        • 1970-01-01
        相关资源
        最近更新 更多