1
我的目標是繼承已經繼承的表與教條。我有一個抽象的用戶類...Symfony2繼承自繼承的表
<?php
namespace UserBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Model\User as BaseUser;
/**
* @ORM\Entity
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({"student" = "Student", "employee" = "Employee", "customer" = "Customer"})
*/
abstract class User extends BaseUser
{
}
...和各種小類(學生,客戶,僱員)。像這樣:
<?php
namespace UserBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* UserBundle\Entity\Student
*
* @ORM\Entity
*/
class Student extends User
{
}
在這個設置中,一切都正常工作。現在,其他軟件包(被視爲單獨的模塊)應該添加來自子類的列。因此,我喜歡像學生一樣繼承這些類。但這些不能是抽象的,因爲它們被核心系統使用。
有沒有可能解決這與教條類表繼承?如果不是,您會推薦哪種解決方案?
Thx爲答案@ francesco-panina。在我的szenario中,用戶確實無法成爲(學生和員工)和_系統殭屍工具_我使用API密鑰接口......這些接口與任何用戶(除關聯所有者之外)都是獨立的。 我對最終論文的最終解決方法是:根據當前模塊動態添加disciminator,並將特定模塊用戶與使用的子文件合併。它的工作原理......醜陋......地獄...... – binzram
坦白說,大部分時間我都接觸現實,我選擇的實施方式是最具成本效益的,這遠離乾淨優雅的...如果它適合你,只要它是一個明智的選擇,選擇任何解決方案並不是件可恥的事。祝你好運! –