Doctrine 2.0 が複合キーをサポートしていることは知っています。しかし、私は自分が探しているものを見つけることができません。
3 つのテーブル => エージェント、クライアント、および client_group があります。
エージェントは client と client_group を作成します。Client_Group には複合主キー => id、agent_id があります。agent_id はエージェント テーブルから取得されます。ID を自動インクリメントしたいのですが、agent_id はエージェント テーブルから取得されます。
yaml ファイルを書き込もうとしていますが、この agent_id を client_group の主キーとして指定する方法がわかりません。client_group_id と agent_id はクライアント テーブルの外部キーです。また、複合 PK は自動インクリメントするフィールドを持つことができないという Doctrine のドキュメントを読みました。
ですから、ここで自分が目指していることが本当にできるのか、疑問に思っています。
リレーションのみを示す yaml は次のようになります。
エージェント:
oneToMany:
client_group:
targetEntity: ClientGroup
mappedBy: agent
client:
targetEntity: Client
mappedBy: agent
client_group
manyToOne:
agent_id:
targetEntity: Agent
inversedBy: client_group
joinColumn:
name: agent_id
referencedColumnName: id
oneToMany:
client:
targetEntity: Client
mappedBy: client_group
クライアント
manyToOne:
client:
targetEntity: ClientGroup
inversedBy: client
joinColumn:
name: client_group_id
referencedColumnName: id
agent:
targetEntity: Agent
inversedBy: agents
joinColumn:
name: agent_id
referencedColumnName: id
これに関する任意の助けが感謝されます。ありがとう。