Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在CakePHP中合并条目_Php_Cakephp_Merge_Behavior - Fatal编程技术网

在CakePHP中合并条目

在CakePHP中合并条目,php,cakephp,merge,behavior,Php,Cakephp,Merge,Behavior,假设我有一个模型,比如User,我想合并这个模型的两个实例,比如说mergeuser2到User1。这就是我的意思: 如果一个字段已经填入User1,它应该保持不变 如果User1中缺少字段,但User2中存在字段,则应复制该字段 如果SomeModel属于User,则指向User2的SomeModel的每个实例都应修改为指向User1 如果某个模型具有ANDBELONGSTOMANY用户,则相同 如果SomeModel有许多用户,而SomeModel1有User2,但没有其他实例有User1,

假设我有一个模型,比如User,我想合并这个模型的两个实例,比如说mergeuser2到User1。这就是我的意思:

  • 如果一个字段已经填入User1,它应该保持不变

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

  • 如果SomeModel属于User,则指向User2的SomeModel的每个实例都应修改为指向User1

  • 如果某个模型具有ANDBELONGSTOMANY用户,则相同

  • 如果SomeModel有许多用户,而SomeModel1有User2,但没有其他实例有User1,那么应该修改它,以便SomeModel1有User1

  • 如果某个模型有多个用户,那么某个模型1有User1,而某个模型2有User2。。。嗯,我不确定,我想唯一的解决办法是放弃SomeModel2,因为User1只能属于一个SomeModel

  • 最后,应该删除User2


    有没有一种方法可以让这一切自动化?也许是一种行为?如果不是,我可以考虑创建它,因为我需要它很多。

    < P>我们在2008中为这个目的精确地进行了合并行为。


    在最新的CakePHP稳定版本中,可能需要进行一些调整才能正常工作,但您可以找到它

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


    可能需要进行一些调整才能正确使用最新的CakePHP稳定版本,但您可以发现它

    您有一组定义良好的需求,因此您最好自己创建行为。我不知道有任何用于合并两个对象的本机函数/方法/机制。事实上,如果没有答案,我会这么做。我的列表不应被视为需求,而应被视为对合并意味着什么的描述。更像是一个规范。您有一个定义非常好的需求集,所以您最好的选择可能是自己创建行为。我不知道有任何用于合并两个对象的本机函数/方法/机制。事实上,如果没有答案,我会这么做。我的列表不应被视为需求,而应被视为对合并意味着什么的描述。更像是一个规范。非常感谢。我从来没有时间自己写一本,但我很乐意调整并使用你的。:-)昨天我不得不再次使用它,发现它仍然有效,除了在同一型号上使用不同别名的HABTM。这可能是我们做这件事时从未想过的。非常感谢。我从来没有时间自己写一本,但我很乐意调整并使用你的。:-)昨天我不得不再次使用它,发现它仍然有效,除了在同一型号上使用不同别名的HABTM。这可能是我们做这件事时从未想过的。