データベースのマッピングにSymfonyとDoctrineを使用して、2つのエンティティ「Product」と「Operation」がManyToManyリレーションを持つため、DataBaseの「Products-Operations」という別のテーブルを取得します
Now私はこのテーブルの属性を追加するのが好きです、どうすればいいですか?アソシエーションクラスに属性を追加ManyToMany
Produit.orm.yml
manyToMany:
operations:
targetEntity: Operation
mappedBy: produits
Operation.orm.yml私は私が思う同じorm.ymlと希望をデータベース内のテーブルを作成するために、注釈と協力
manyToMany:
produits:
targetEntity: Produit
inversedBy: operations
joinTable:
name: produits_operations
joinColumns:
operation_id:
referencedColumnName: id
inverseJoinColumns:
produit_id:
referencedColumnName: id
そのm:nテーブルに行を追加することを再検討したいかもしれません。 Doctrineでそのテーブルをどのように使用するかを見てみると(http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html#many-to-many-単方向)、Entityが接続されていないことがわかります。したがって、このプロパティは本当にアクセス可能ではありません。一方、エンティティを作成したい場合は、3つのエンティティ間の関連付けをモデリングするのが変です。代わりに、エンティティがエンティティの1つに接続されるべきでないかどうかを考えてみてください。 – dbrumann
このような状況にある場合、2つのモデルの間に抽象概念がないことがよくあります。純粋な多対多の関係はあまり一般的ではありません。 dbrumannのように、 'link'テーブルにいくつかのプロパティが必要な場合は、3番目のエンティティが必要です – RVandersteen
答えをありがとう、新しいエンティティを追加すると、これらの3つのエンティティの関係はどうなりますか? –