jquery - 删除主 ID 以外的字段

标签 jquery cakephp

我正在尝试删除表中与特定 ID 相对应的条目列表。我获取 id 并通过 ajax 函数将其发布到 Controller ,并使用模型的删除函数删除特定条目。但条目并没有被删除。

这是我在名为 reports.ctp 的 View 文件中的 ajax 函数,当单击链接时,我在其中调用 Controller 函数。

$(".delete_entries").click(function() {
    $.ajax({
        type: "POST",
        url: "http://localhost/FormBuilder/reports/deleteEntries",
        data: "formid="+formid,
        async: false,
        success: function(msg){
            alert( "Data Saved: " + msg);
        }  
    });//ajax
});

这是reports_controller.php中的删除操作

function deleteEntries()
{
    $this->data['Result']['form_id']=$this->params['form']['formid'];
    $this->Report->Result->delete($this->data['Result']['form_id']);
}

我要从中删除条目的表是“结果”。有人帮助我如何删除条目。

编辑

现在我使用删除 sql 查询来删除结果表中的条目。

$this->Result->query("delete from results where form_id=".$this->data['Result']['form_id']);

不知道为什么CakePHP的删除命令不起作用。

但现在的问题是,只有当我刷新页面时,条目的删除才会反射(reflect)出来。如果我不刷新,条目仍显示在表中。 也许如果CakePHP的删除功能有效,页面就会刷新。

解决方案

deleteAll 方法有效,因为我没有像 deceze 指出的那样将主 id 作为删除方法的输入。

$this->Result->deleteAll(array('Result.form_id' => $this->data['Result']['form_id']));

关于反射(reflect)条目删除的问题,我按照Xr的建议成功执行了 $(".entries).remove() ,因此条目表被删除而无需进行页面刷新。

最佳答案

"delete from results where form_id=".$this->data['Result']['form_id']

问题是您想要删除主 id 以外的字段。 Model::delete() 方法希望您为其提供主 id 字段。

当你尝试做的事情

$this->Report->Result->delete($this->data['Result']['form_id']);

即使您先将 form_id 放入一个漂亮的数组中,结果也只是这样:

$this->Report->Result->delete(25);  // let's say 'form_id' is 25

这告诉 delete() 删除带有 idResult 25、它不知道你要根据不同的标准进行删除,也不关心。

您正在寻找的是 Model::deleteAll() .

deleteAll(mixed $conditions, $cascade = true, $callbacks = false)

Same as with del() and remove(), except that deleteAll() deletes all records that match the supplied conditions. The $conditions array should be supplied as an SQL fragment or array.

你应该能够用它做这样的事情:

$this->Result->deleteAll(array('Result.form_id' => $this->data['Result']['form_id']));

关于jquery - 删除主 ID 以外的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1304232/

相关文章:

mysql - 保存期间小数部分舍入错误

javascript - 固定标题 - 向下滚动时停止动画,停止滚动时继续

javascript - Ajax返回数组在PHP中显示[object Object],[object Object]

jQuery XML 对象到字符串

php - 如何在 url 中附加用户名而不是 cakephp 3 中的 user_id

mysql - Cakephp 3.5 内连接

javascript - 如何在引导模式中的表中追加行

jquery - 在 Wordpress 上切换 HTML/JQuery 选项卡

php - 当cakePHP的 Controller 中不存在函数时,保存错误

cakephp - 在本地开发环境中禁用 CakePHP ACL/ACO 检查