1

假设我有一个模型,例如用户,我想合并这个模型的两个实例,比如将用户 2 合并到用户 1。这就是我的意思:

  1. 如果一个字段已经填写在 User1 中,它应该保持不变

  2. 如果 User1 中缺少字段但 User2 中存在,则应复制该字段

  3. 如果 SomeModel BelongsTo User,每个指向 User2 的 SomeModel 实例都应该修改为指向 User1

  4. 如果 SomeModel HasAndBelongsToMany 用户相同

  5. 如果 SomeModel HasMany User,并且 SomeModel1 有 User2 但没有其他实例有 User1,则应修改为 SomeModel1 有 User1

  6. 如果 SomeModel HasMany User,SomeModel1 有 User1,SomeModel2 有 User2……好吧,我不确定这里,我想唯一的解决方案是丢弃 SomeModel2,因为 User1 只能属于一个 SomeModel。

最后应该删除 User2。

有没有办法自动化这个?也许是一种行为?如果没有,我可能会考虑创建它,因为我会非常需要它。

4

1 回答 1

1

早在 2008 年,我们就为此目的做了一个合并行为。

它可能需要一些调整才能与最新的 CakePHP 稳定版本一起正常工作,但你可以在这里找到它

于 2011-08-31T14:02:24.923 回答