2

我有一个工作应用程序。现在我想将我的实体的表名从 CamelCase 更改为 underscore_case。

旧代码:

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

每件事都有效

新代码:

/**
 * @ORM\Table(name="featured_product")
 */
class FeaturedProduct
{ ... }

现在我得到:

在渲染模板期间引发了异常:

(“SQLSTATE [42S02]:未找到基表或视图:1146 表 'myapp.FeaturedProduct' 不存在”)在 MyApp::layout_user_2_col.html.twig 第 37 行。

MyApp/Resources/views/layout_user_2_col.html.twig:37 
{% render "MyApp:FeaturedProduct:random" %}

文件 MyApp/Resources/views/FeaturedProduct/random.html.twig 存在。

看起来 twig 正在使用表名作为模板的路径,而不是控制器的名称。

4

2 回答 2

1

好像您还没有更新您的架构。

使用以下命令查看应进行哪些更改以同步架构和实体注释:

应用程序/控制台原则:模式:更新 --dump-sql

并运行以下命令以实际进行此更改

应用程序/控制台原则:架构:更新 --force

于 2012-06-12T04:55:55.513 回答
1

我发现了错误。

我在我的 FeaturedProduct 存储库的本机学说查询中使用了表的名称。将其更改为动态表名解决了该问题。

于 2012-06-14T22:40:27.163 回答