我有一個基類/實體,由2個不同的實體擴展,每個實體使用相同的數據庫表來存儲特定的數據。不帶鑑別器映射的學說單表繼承
/**
* @ORM\Table(name="my_table")
* @ORM\Entity()
* @ORM\InheritanceType("SINGLE_TABLE")
* @ORM\HasLifecycleCallbacks()
*/
abstract class Base {
}
/**
* Subclass1
* @ORM\Entity()
*/
class Subclass1 extends Base {
/**
* @var propertyForSubClass1
*/
private $propertyForSubClass1;
}
/**
* Subclass2
* @ORM\Entity()
*/
class Subclass2 extends Base {
/**
* @var propertyForSubClass2
*/
private $propertyForSubClass2;
}
SubClass1
使用了一些共同的列,再加上具體到自身的列。 SubClass2
做同樣的事情,它使用普通列加上SubClass1
未使用的特定列。我得到這個關係問題,這是造成其顯示錯誤:
Column not found: 1054 Unknown column 't0.dtype' in 'field list'
根據不同的地方,這涉及到一個缺乏鑑別地圖。但是,如何在沒有單個鑑別器列的情況下添加鑑別器映射。這是一個遺留改造,所以我可能會添加一個列,但我想知道是否有方法正確映射這些沒有一個。