manyToMany连接添加现有实体或创建新实体

时间:2015-10-22 16:54:40

标签: symfony doctrine-orm

想象一下连接Person x Address(manyToMany)。用户想要添加具有相同地址且具有前一个人的人。

 Person Address              Address                       
+------------------------+  +-------------------------------+
| person_id | address_id |  | id | postCode | city     |... |
+------------------------+  +-------------------------------+
| 1         | 1          |  | 1  | 15800    | New York |... |
| 2         | 1          |  | 2  | 25385    | London   |... |
+------------------------+  +-------------------------------+

 Person
+------------------+
| id | name  | ... |
+------------------+
| 1  | Jack  | ... |
| 2  | Peter | ... |
+------------------+

是否有一些自动方式:

  1. 检查是否已存在相同的地址。如果添加连接而不是创建重复的地址。
  2. 当更新杰克(来自示例)和他的地址时,添加一个新地址,而不是更新彼得的地址。
  3. 删除时检查是否有与其他人相关的地址。如果没有删除地址,否则只删除连接。
  4. 在这种情况下,在更改持久保存到DB之前很容易检查,但在更复杂的示例中,当您必须在同一时刻检查3条记录时,这些都是非常烦人的。

0 个答案:

没有答案