2012-12-26 10 views
6

SonataプロジェクトからユーザーバンドルをSonata EasyExtendsバンドルに拡張しました。 src/Application/Sonata/UserBundleの下にデフォルトで置かれます拡張されたSonataユーザークラスの注釈が読み取られない

これで拡張クラスをカスタマイズしていくつかのフィールドを追加したいと思います。 注釈は処理されていませんが、src/Application/Sonata/UserBundle/Resources/config/doctrine/User.orm.xmlにマッピングを定義する必要があります。

アノテーションをXMLファイルの代わりに使用しますか? 私はそれが今、コマンド

PHPアプリ/コンソール教義として、ユーザークラスを参照して、私の多くの問題を解決すると思う:スキーマ:認識するように見えるdoesntの

--force更新注釈..

答えて

10

最初

で削除アプリケーション/ソナタ/ UserBundle /リソース/設定/教義と後で注釈型へ​​のエンティティ/ User.phpとエンティティ/ Group.phpを変更します。

最後に
<?php 

namespace Application\Sonata\UserBundle\Entity; 
use Doctrine\ORM\Mapping as ORM; 
use Sonata\UserBundle\Entity\BaseUser as BaseUser; 

/** 
* User 
* 
* @ORM\Table(name="fos_user_user") 
* @ORM\Entity 
*/ 

class User extends BaseUser 
{ 

    /** 
    * @ORM\Id 
    * @ORM\Column(type="integer") 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    protected $id; 

    /** 
    * @ORM\Column(type="string", length=127) 
    */ 
    protected $test; 
} 
<?php 

namespace Application\Sonata\UserBundle\Entity; 

use Sonata\UserBundle\Entity\BaseGroup as BaseGroup; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* Group 
* 
* @ORM\Table(name="fos_user_group") 
* @ORM\Entity 
*/ 
class Group extends BaseGroup 
{ 

    /** 
    * @ORM\Id 
    * @ORM\Column(type="integer") 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    protected $id; 

} 

次の行を入力します:PHPアプリ/コンソール教義:スキーマ:更新--force、すべてはかなり機能しなければなりません。

+0

本当にありがとうございます! – user1926848

-1

XMLを使用している場合、注釈ではルールが適用されません。

config/doctrineフォルダを削除すると注釈が検索され、そこに目的のファイルを置くことができます。

関連する問題