0

私は実際に Symfony2 を使用してプロジェクトを完了しましたが、上司はデータベース内のテーブルの名前を変更するよう求めています。彼は私のテーブルの名前にアンダースコアを入れたいと思っています。つまり、クラス名にアンダースコアを付けたいのです。

私はこれをやろうとしましたが、うまくいきません。すると、 「エンティティ "entity" が "another entity" に見つかりません」というエラーが表示 されました。

また、アンダースコアなしでクラス名の名前を変更して、間違いを犯していないかどうかを確認しようとしましたが、うまくいきました。

私はウェブで検索し、おそらくその問題を説明できる理由を見つけました。ここにそれがあります:

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md#underscores-in-namespaces-and-class-names

では、symfony を使ってテーブル名にアンダースコアを付ける方法を正確に教えてくれる人がいるでしょうか?

4

2 に答える 2

1

より良い解決策があるかもしれません: アンダースコアの命名戦略を使用してください。

https://stackoverflow.com/a/12702949/244058

于 2013-07-16T10:24:42.667 に答える
1

ドキュメントによると、テーブル名をクラス名から分離できます。

これを行うだけです:

<?php
/**
 * @Entity
 * @Table(name="my_table_name")
 */
class MyPersistentClass
{
    //...
}

それだけです:)

コマンドを使用してデータ モデルを再生成しても、app/console doctrine:schema:update --force既存のテーブルやデータは破壊されないことを付け加えておきます。次に、古いテーブルから新しいテーブルに手動でデータを移行する必要があります。

于 2013-07-16T09:21:49.287 に答える