2012-05-03 10 views
1

symfony2ドクトリンリバースエンジニアリングツールを使用しようとすると、1対多の関係があります。例えば:symfony2 doctrineリバースエンジニアリング、1対多のコードを生成できません

A: id, name; B: id, a_id, name 

ので、リバースエンジニアリングツールは、私のような何か与える:

class A{ 
    private id; 
    private name; 
} 
class B{ 
    private id, 
    private A a; 
    private name; 
} 

をしかし、私は必要なのである。

class A{ 
    private id; 
    private Bs; 
    private name; 
} 

どのように私は教義ツールは私のためにこれを生成することができます?データが変化しているので、データベースが変更されるたびに書き直したくないからです。おそらく、あなたは

http://symfony.com/doc/current/book/doctrine.html

を経る必要があります

答えて

1

悪い知らせをして申し訳ありませんが、あなたはできません。唯一の選択肢は、エンティティを生成してから、詳細を追加することです。

http://readthedocs.org/docs/doctrine-orm/en/2.0.x/reference/tools.html#entity-generation

このコマンドは、一定の使用に適していません。これは小さなヘルパー であり、すべてのマッピングエッジのケースを非常によくサポートしているわけではありません。あなたはまだ あなたのエンティティにこのコマンドを使用した後に仕事を置く必要があります。

+0

ありがとうとにかく。それは本当に悪いニュースです。私はそれが冬眠のようになると思う。 – ferdinandfly

+0

いくつかの観察の後、私はツールによって生成されないことが分かった。多対1、多対多は大丈夫です。 – ferdinandfly

0

私はあなたが実体ファイルを変更し、データベースを更新示唆しています。

+0

データベースに150個のテーブルがある場合、これは不可能なことがあります。 – ferdinandfly

+1

テーブルの数はなぜ重要ですか?エンティティを変更した後、 "php console doctrine:schema:update --dump-sql"を実行します。本当に問題になる唯一の時間は、データベースの更新を担当する他の人がいる場合です。 – Cerad

関連する問題