2

私は実用的なアプリケーションを持っています。ここで、エンティティのテーブル名を CamelCase から underscore_case に変更したいと考えています。

古いコード:

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

すべてが機能します

新しいコード:

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

今私は得る:

テンプレートのレンダリング中に例外がスローされました:

("SQLSTATE[42S02]: Base table or view not found: 1146 Table 'myapp.FeaturedProduct' does not exist") 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 が存在します。

小枝は、コントローラーの名前ではなく、テンプレートのパスにテーブル名を使用しているようです。

4

2 に答える 2

1

エラーが見つかりました。

FeaturedProduct リポジトリのネイティブなドクトリン クエリでテーブルの名前を使用しました。これを変更してテーブル名を動的にすることで問題が解決しました。

于 2012-06-14T22:40:27.163 に答える
1

スキーマを更新していないようです。

次のコマンドを使用して、スキーマとエンティティの注釈を同期するために行う必要がある変更を確認します。

app/console doctrine:schema:update --dump-sql

次のコマンドを実行して、実際にこの変更を行います

app/console doctrine:schema:update --force

于 2012-06-12T04:55:55.513 に答える