2

私はsymfony2を勉強していて、そのデモ例を作っています。

以下のコマンドを実行しようとしているとき。

$php アプリ/コンソール doctrine:generate:entities HelloBundle

その作品はうまくいきます。しかし、それはすべてのエンティティを生成します。

しかし、特定のエンティティを生成したい場合は、

$php app/console doctrine:generate:entities HelloBundle --entity="User"

以下のエラーが発生します

$ php コンソール doctrine:generate:entities HelloBundle --entity="Messages"
「HelloBundle」のエンティティの生成

PHP 致命的なエラー: 63 行目の /home/prakash/web/Symfony/vendor/symfony/src/Symfony/Bundle/DoctrineBundle/Command/GenerateEntitiesDoctrineCommand.php の非オブジェクトに対するメンバー関数 getShortName() の呼び出し
4

1 に答える 1

2

古い質問ですが、私はこれをやっています!

Linux を使用しているようです。ターミナルを開いてcdSymfony の app ディレクトリに移動し、./console --shell.

これにより、コマンドを少しずつ実行できる対話型シェルが表示されます。これは、少し遅くはないにしても、もう少し役立つことがわかりました。

シェルが開いたら、入力doctrine:generate:entityすると、特定のバンドルに対して単一のエンティティを作成できる小さなウィザードが実行されます。最初に名前を尋ねます。HelloBundle:EntityName、次に使用する構文 (yml、xml、注釈) を尋ね、フィールドとそのタイプを入力できるようにします。

それを行った後 (必要に応じて)、フィールド名が空白のときに Return キーを押すと、エンティティのリポジトリ クラスを生成するかどうかを尋ねられ、最後にすべてを生成するかどうかを確認します。もう一度 Return キーを押すと、エンティティ ファイルが作成されます。

OPで説明されているように単一行コマンドの方法を試しましたが、奇妙なエラーが発生しました(間違っている可能性があります)が、そのコマンドをentities使用してentity.

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

于 2011-07-09T21:08:24.700 に答える