2013-02-27 7 views
7

私はSymfony2には比較的新しいので、これまでのところこの問題を愛しています。Symfony2 Doctrine doctrine:generate:エンティティは動作しません

(私にとっては)恐ろしい:教義:生成:エンティティ

私は私が働いてそのコマンドを取得できませんでした私の最初のSymfony2のプロジェクトを開始し、ちょうど教義を使用して終了:生成:実体ではなく、うまく働いています。

しかし、今回は、既にデータベーステーブルを持つシステム用のアプリケーションを作成しようとしています。私は以下の指示に従った:Symfony2 Docsこれは、doctrine:generate:entitiesビットのためにいつものように、すべて正常に動作するように思えた。

Iマイ

<?php 

namespace My\Bundle\FeedManagerBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Feeds 
* 
* @ORM\Table(name="feeds") 
* @ORM\Entity 
*/ 
class Feeds 
{ 
    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer", nullable=false) 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="IDENTITY") 
    */ 
    private $id; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="feed_label", type="string", length=100, nullable=false) 
    */ 
    private $feedLabel; 

    /** 
    * @var integer 
    * 
    * @ORM\Column(name="advertiser_id", type="integer", nullable=false) 
    */ 
    private $advertiserId; 

    /** 
    * @var boolean 
    * 
    * @ORM\Column(name="active", type="boolean", nullable=false) 
    */ 
    private $active; 


} 

そして私/バンドル/ FeedManagerBundle /リソース/設定/ドクトリンで/バンドル/ FeedManagerBundle /エンティティ/ Feeds.php

/Feeds.orm.yml

@以下のエンティティファイルを持っています
Feeds: 
    type: entity 
    table: feeds 
    fields: 
    id: 
     id: true 
     type: integer 
     unsigned: false 
     nullable: false 
     generator: 
      strategy: IDENTITY 
    feedLabel: 
     type: string 
     length: 100 
     fixed: false 
     nullable: false 
     column: feed_label 
    advertiserId: 
     type: integer 
     unsigned: false 
     nullable: false 
     column: advertiser_id 
    active: 
     type: boolean 
     nullable: false 
    lifecycleCallbacks: { } 

そして、これは私が取得していますエラーです:

$ php app/console doctrine:generate:entities My/Bundle/FeedManagerBundle/Entity/Feeds --path=src 
Generating entity "My\Bundle\FeedManagerBundle\Entity\Feeds" 



    [Doctrine\Common\Persistence\Mapping\MappingException]                   
    Invalid mapping file 'My.Bundle.FeedManagerBundle.Entity.Feeds.orm.yml' for class 'My\Bundle\FeedManagerBundle\Entity\Feeds'. 



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

私はYMLファイルの名前を変更しようとしています完全なパス。私はymlファイルの最初の行を完全なパスに変更しようとしましたが、私はこれらのことを同時に実行しようとしました。 &はまだ動作していないようですが、私は髪の毛を引き出しています。なぜこれが動いていないのかもしれない何らかの理由を考える人はいますか?

答えて

13

変更Feed.orm.ymlへ:

My\Bundle\FeedManagerBundle\Entity\Feeds: 
    type: entity 
    table: feeds 
    ... 
+0

Wow - それ以外はすべて試しました。 My/Bundle/FeedManagerBundle/Entity/Feeds:ありがとうございました! – someuser

+0

@l_t問題が解決されたことを嬉しく思います。 – seferov

+0

私のXMLファイルマッピングと同じです。私はと同じエラーを出していました。私はに変更しました。ありがとう! – a4bike

1

私は同じ問題を持っていましたが、問題はありませんでした。マイ\バンドル\ FeedManagerBundle \エンティティ\航空機になる予定だった:私の\バンドル\ FeedManagerBundle \エンティティ\ Aircaft:

は実際に、私は、エンティティ、すなわちの名前を変更したい

(理由テーブルは "aircaft"でした:-S)

しかし、私はファイル名を変更しませんでした。 変更時aircaft.orm.yml airc r aft.orm.yml( "r"付き) コマンドが機能します!

0

私はこの問題を別の方法で解決しました。 orm.ymlフィードのエンティティのファイルが問題を作成しているので、私はそれをresource -> config -> doctrineから削除してから、php app/console​​を実行しました。

これは機能します。

doctrine:mapping:convertタスクを使用して、マッピング情報をサポートされている他のマッピング形式に変換する場合。以下の名前空間をあなたのものに置き換えてください。それは100%働く。

php app/console doctrine:mapping:convert --namespace="Blogger\BlogBundle\Entity\Blog" yaml src/Blogger/BlogBundle/Resources/config/doctrine 
1

答えはノーだけでこれを行う、model.phpするYMLからエンティティを生成するには... 5時間

を検索した後だった発見しません。以下の太字のテキストに注目してください。コマンドは次のとおりです。

php app/console doctrine:generate:entities YourAppBundle:ReplaceWithEntityName --path src/ 

があなたのmodel.orm.ymlのファイルがフォルダ内にあることを確認してください

C:\ XYZ \ abcの** AppBundle \リソース\ CONFIG \教義**とあなたYMLファイルがありこのリファレンスは、マッピングコード "AppBundle \ Entity \ Book:"の先頭に追加された引用符で囲まれています。

関連する問題