Php 多对多关系重复条目
我有两个实体通过多对多关系连接起来。例如,假设我的实体是DRIVER和CAR。一个司机可以有多辆车,一辆车可以有多个司机 在我的驱动程序实体上,我有:Php 多对多关系重复条目,php,doctrine-orm,Php,Doctrine Orm,我有两个实体通过多对多关系连接起来。例如,假设我的实体是DRIVER和CAR。一个司机可以有多辆车,一辆车可以有多个司机 在我的驱动程序实体上,我有: /** * @ORM\ManyToMany(targetEntity="CARS") * @ORM\JoinTable(name="driver_car") protected $cars; 联接表的名称是固定的,因此我必须指定它 保存新驾驶员时,可以指定多辆车 它的工作原理很好,我有我的新司机保存在BDD,我有很多线在司机车,因为我有车指定给
/**
* @ORM\ManyToMany(targetEntity="CARS")
* @ORM\JoinTable(name="driver_car")
protected $cars;
联接表的名称是固定的,因此我必须指定它
保存新驾驶员时,可以指定多辆车
它的工作原理很好,我有我的新司机保存在BDD,我有很多线在司机车,因为我有车指定给我的司机
问题是它创造了新的汽车,尽管它已经存在于汽车中
例如,如果我在DB中有两辆车,那么假设:
诽谤罪
1 |法拉利
2 |波什
现在我创建了一个名为FOO的新司机,并将他与法拉利联系起来,我最终拥有:
诽谤罪
1 |法拉利
2 |波什
3 |法拉利
以分贝为单位
仅供参考,我使用Symfony2表格保存或更新实体
我尝试过使用不同的“级联”值,但没有效果。
有人能解释一下我做错了什么吗
感谢您抽出时间:) 我发现我的问题来自哪里 我正在使用表单验证我的对象,但它的配置很差 之前:
->add('CARS', CollectionType::class, array(
'entry_type' => CARSTYPE::class,
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false
))
之后:
->add('CARS', EntityType::class, array(
'class' => 'CARS',
'invalid_message' => 'Cannot find car.',
'multiple' => true,
))
我发现我的问题来自哪里 我正在使用表单验证我的对象,但它的配置很差 之前:
->add('CARS', CollectionType::class, array(
'entry_type' => CARSTYPE::class,
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false
))
之后:
->add('CARS', EntityType::class, array(
'class' => 'CARS',
'invalid_message' => 'Cannot find car.',
'multiple' => true,
))