0

私は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ですが、次のエラーで失敗しました:@MappedSuperclassmachineHasCylinder

'SELECT FROM machineHasPart t0' の実行中に例外が発生しました。

ここで ORM を使用するには、データベースを再構築する必要がありますか? または、私の場合の解決策はありますか?

4

2 に答える 2