2012-07-13 13 views
1

我有這樣的結構,現在如何使用dicriminator地圖教義實體從抽象類擴展在Symfony2的PHP

`UserInterface.php` 
abstract class User implements UserInterfacee in model` 
`class student extends user.php` 
`class teacher extends user.php` 

在哪一類,我應該用這個學說代碼

/** 
* @Entity 
* @InheritanceType("JOINED") 
* @DiscriminatorColumn(name="discr", type="string") 
* @DiscriminatorMap({"user" = "User", "student" = "Student"}) 
*/ 

回答

2

您應該使用繼承父類中的註釋。

/** 
* @Entity 
* @InheritanceType("JOINED") 
* @DiscriminatorColumn(name="discr", type="string") 
* @DiscriminatorMap({"student" = "Student", "teacher" = "Teacher"}) 
*/ 
    class User 
{ 
// ... 
} 

    /** @Entity */ 
    class Student extends User 
    { 
    // ... 
    } 

    /** @Entity */ 
    class Teacher extends User 
    { 
    // ... 
    }