2017-06-19 23 views
0

私は変更できないライブラリに含まれる基本クラスから継承するPHPエンティティを持っています。基本クラスから継承されたプロパティをデータベース列にマップしたいと思います。メソッドのフィールドで@Columnアノテーションを使用する必要があるため、継承されたカラムをそのように定義することはできません。 @AttributeOverridesを使用すると、MappedSuperclassにするために基本クラスにアクセスする必要があります。クラスのDoctrineの拡張クラスにカラムマッピングを追加する

例:

class LibraryClass 
{ 
    protected $someProperty; 
} 


/** 
* @Entity 
* @Table(name="child") 
*/ 
class Child extends LibraryClass 
{ 
    /** 
    * @Column(name="some_property", type="string") 
    * Somehow target $this->someProperty 
    */  
} 

継承を使ってクラスとないの間の特性を転送することなく、親のプロパティをマップする他の方法はありますか?

答えて

0

注釈の代わりにXMLまたはYMLを使用してマッピングを使用できます。それはここに書かれています。

https://symfony.com/doc/current/doctrine.html#add-mapping-information

+0

私も他のエンティティのためのアノテーションのマッピングに固執したい、とすることを[可能性は思えない](https://stackoverflow.com/a/35272567/1871016)。 – Villermen

関連する問題