CakePHP 的默认值 unique 设置为 true,我对其进行编码也是为了确保这一点。
所以我有以下数据库结构:
项目 HABTM 操作,将 unique 设置为 true。
情况如下:
当我删除 1 条或多条记录时,如果至少 1 条记录保持“活动状态”,则删除在保存时工作正常
当我删除所有记录(或 1 条记录,如果这是唯一的记录)时,保存时删除不起作用。它只是以这种方式保存所有现有记录。
我已经在保存之前使用 debug($this->request->data) 确保它不包含任何操作。
从您帖子评论中的讨论来看,我仍然感到困惑,但我了解到您正在尝试:
以类似于以下的格式保存 POST:
大批(
'项目' => 数组(
'id' => '3'
)
和:
$this->Item->SaveAll($this->request->data);
您的帖子应包含“操作”键:
array(
'Item' => array(
'id' => '3'
),
'Action' => array(
'Action' => array()
)
当设置“操作”键时,Cake 知道它必须“遍历”关系及其魔力。
然后就会删除。
我刚刚在我正在开发的应用程序上对此进行了测试,实际上发现它是一个错误。 :D 问题
对于特定的 HATBM 关系,我必须使用手动生成的表单,因此在发布时不包含任何内容时,未设置关系键,并且未删除记录。我想表单助手会处理这个问题。
如果您遇到类似问题,可以通过两种不同的方式进行处理:
使用 JavaScript 隐藏输入
-
在控制器中检查是否设置了“Action”键,如果没有则添加它(作为空数组):
$this->请求->数据['Action']['Action'] = array();
这可能有点侵入性,但它会完成工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)