私は、それぞれが同じDBテーブルを使用して特定のデータを格納する2つの異なるエンティティによって拡張された基本クラス/エンティティを持っています。弁別子なしのDoctrine単一テーブル継承マップ
/**
* @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'
:私は、表示されるエラーの原因となっているこの関係の問題を取得しています。ただし、ディスクリミネータ列が1つもない場合は、どのようにしてディスクリミネータマップを追加できますか。これは旧式のレトロフィットなので、カラムを追加することも可能ですが、これらを正しくマッピングする方法がないかと疑問に思っていました。