在多对多中有更多相同的东西

时间:2013-12-13 16:45:37

标签: symfony doctrine-orm

在我的车库中我可以拥有更多相同的汽车,应该如何创造?

我现在拥有的是

class Garage {

    /**
     * @var ArrayCollection
     * @ORM\ManyToMany(targetEntity="Car", inversedBy="garages")
     */
    private $cars;

}

class Car {

    /**
     * @var ArrayCollection
     * @ORM\ManyToMany(targetEntity="Garage", mappedBy="cars")
     */
    private $garages;

}

这不允许我在车库里有超过1辆同一辆车,但我希望它有超过1辆相同的车。

在我的数据库中,Doctrine创建了这个主键PRIMARY garage_id, car_id我认为这就是问题所在。

我真的需要创建一个“木匠类”来实现这个目的吗?

2 个答案:

答案 0 :(得分:0)

如果你想用PK的第三个元素成员(例如由garage_id,car_id和car_plate_number组成的PK)执行这种关联,那么你需要一个关联实体。

您可以看到更多here in the official tutorials

答案 1 :(得分:0)

适合你的车< ==>相同的id ??

所以你必须创建一个“joiner类”,PK只是一个简单的id而不是garage_id,car_id。