15

私は本とページをフォローしていますhttp://symfony.com/doc/current/book/doctrine.html

本を読みながら、製品とカテゴリテーブルの関係に取り組もうとしていますが、ドクトリン生成コマンドで次のエラーが発生します。

php app/console doctrine:generate:entities Acme
Generating entities for namespace "Acme"



  [RuntimeException]                                      
  Namespace "Acme" does not contain any mapped entities.  



doctrine:generate:entities [--path="..."] [--no-backup] name

どうも

4

7 に答える 7

20

doctrine:generate:entity

新しいエンティティを作成します。

そして、いくつかの属性を手動で追加すると

doctrine:generate:entities AcmeDemoBundle:User

AcmeDemoBundle のエンティティ User のすべてのアクセサー (ゲッターとセッター) を作成します。

于 2012-07-13T06:13:19.860 に答える
3

PHP の開始タグと (オプションの) 終了タグを確認してください

<?php  

?>

あなたのファイルで正しいです。

http://symfony.com/doc/current/book/doctrine.htmlのチュートリアルからコピー ペーストする場合、 それらは含まれません。

私は同じ問題で立ち往生していました。この投稿を見た後、なぜ構文の強調表示が壊れているのか疑問に思い始め、開始タグと終了タグが欠落していることに気付きました。タグを入れるとエラーが消えました。

于 2014-09-27T16:00:57.327 に答える
2

ブック内http://symfony.com/doc/current/book/doctrine.htmlエンティティ プロダクトは手動で作成されました。Product.php にコードを書きました。エンティティ フィールドに関するすべての情報は、注釈に含まれています。
しかし、エンティティカテゴリはで作成されました

php app/console doctrine:generate:entity --entity="AcmeStoreBundle:Category" --fields="name:string(255)"

自動生成されたエンティティCaterory.phpには注釈が含まれていません。symfony は「Acme\StoreBundle\Resources\config\doctrine\Category.orm.yml」に情報を保存しました。そのため、php app/console doctrine:mapping:infoマッピングされたエンティティは 1 つだけであると言われています - カテゴリです。

解決
する 製品エンティティを生成するdoctrine:generate:entity

、製品エンティティに関する情報を「Acme\StoreBundle\Resources\config\doctrine\Category.orm.yml」に手動で追加する
か、「Acme\StoreBundle\Resources\config\doctrine\Category.orm.yml」
を削除します。 」と、Category.php に注釈を付けて Category エンティティを記述します。

于 2013-11-14T07:55:54.927 に答える
1

2つのうちの1つが問題かもしれませんが、

  1. 上部に use ステートメントがあることを確認してください。

    use Acme\StoreBundle\Entity\Product;

    例には含まれていません。表示のみです。 use Doctrine\Common\Collections\ArrayCollection;

  2. ターゲット エンティティを指定するとき、エンティティが異なる名前空間にある場合は、常に完全な名前空間を指定します。例:

    @ORM\OneToMany(targetEntity="Acme\StoreBundle\Entity\Product", mappedBy="category")

    それ以外の:

    @ORM\OneToMany(targetEntity="Product", mappedBy="category")

    2 番目のものは、2 つのエンティティが同じ名前空間にあり、そのエンティティがuseクラスの上のステートメントによって呼び出された場合にのみ機能します。

于 2012-09-13T01:02:40.167 に答える