私はDoctrine2を初めて使用し、次のDB構造のエンティティを作成しようとしています:
マシン クラスの 1 つの属性に、すべてのマシン パーツを配列として配置したいと考えています。私はこれを試しました:
class Machine {
....
/**
* @var array
* @ORM\OneToMany(targetEntity="MachineHasPart", mappedBy="machine", cascade={"persist", "remove"}, orphanRemoval=TRUE)
*/
private $parts;
....
public function getParts () {
return array_map(
function ($machineHasPart) {
return $machineHasPart->getPart();
},
$this->parts->toArray()
);
}
}
は中間エンティティ/テーブル (など) の場所MachineHasPart
ですが、次のエラーで失敗しました:@MappedSuperclass
machineHasCylinder
'SELECT FROM machineHasPart t0' の実行中に例外が発生しました。
ここで ORM を使用するには、データベースを再構築する必要がありますか? または、私の場合の解決策はありますか?