0

在 Doctrine2 中可以使用第三个键管理多对多关系以添加多个相同的关系吗?

我有一个“用户”表和另一个“计划”表,我做了正常的多对多关系,产生带有两个主键(user_id 和 plan_id)的 user_plan 表,但我需要在我的应用程序中添加相同的计划用户不止一次。例如:user_plan(generated_id, user_id, plan_id)

我当前的用户 yml 定义:

Entity\FosUser:
type: entity
table: fos_user
fields:
    id:
        id: true
        type: integer
        unsigned: false
        nullable: false
        generator:
            strategy: IDENTITY
manyToMany:
    plans:
        targetEntity: Plan
        inversedBy: users
        joinTable:
            name: user_plan
            joinColumns:
                plan_id:
                    referencedColumnName: id
            inverseJoinColumns:
                user_id:
                    referencedColumnName: id

lifecycleCallbacks:
  prePersist: [ setUserValue ]
  preUpdate: []

我目前的计划 yml 定义:

Entity\Plan:
type: entity
table: plan
fields:
    id:
        id: true
        type: integer
        unsigned: false
        nullable: false
        generator:
            strategy: IDENTITY
    planName:
        type: string
        length: 50
        fixed: false
        nullable: false
        column: plan_name
manyToMany:
    users:
        targetEntity: FosUser
        mappedBy: plans
LifecycleCallbacks:
  prePersist: [ setCreatedAtValue ]
  preUpdate: [ setUpdatedAtValue ]

有人知道symfony2是否可以做到这一点?

4

1 回答 1

0

我不知道第三把钥匙,但我看到了另一种解决方案。您可以添加另一个模型 PlantBed。用户 has_many PlantBeds(PlantBed has_one 用户)。PlantBed has_one Plant (Plant has_many PlantBeds) 和数量OfPlantsInBed。

于 2012-12-11T19:26:19.957 回答