gpt4 book ai didi

mysql - 删除查询在 cakephp 中不起作用

转载 作者:行者123 更新时间:2023-11-29 21:35:42 25 4
gpt4 key购买 nike

以下是我在模型中编写并在 Controller 中调用此函数的代码。我尝试了 3 种不同的方法来删除记录,但都不起作用。调用该函数时显示正在删除,但并没有删除该记录。

function deleteRecord($id, $componentName, $action)
{
try{
echo 'deleting';
$this->deleteAll($id);
//$this->delete(['id' => $id]);
//$this->query("DELETE FROM `ebay_leave_feedback_queues` WHERE `id`= 983");
}catch(Exception $e){
$returnArray = array( // creating an array to log msg
'Ack' => 'Error',
'ErrorCode' => '122456',
'Message' => $e->getMessage(),
'TraceOfException' => $e->queryString,
'RowId' => 'Component: /Controller/Component/' . $componentName . ', Function: ' . $action . ', Table: =feedback_queues, Row Id: ' . $id
);
App::import('Model', 'SystemErrorLog');
$SystemErrorLog = new SystemErrorLog();
$SystemErrorLog->writeLog($returnArray, $componentName, $action);
}
return true;
}

如果我写错了请告诉我我们将不胜感激您的帮助。

最佳答案

你已经快到了,你交换了deleteAll() 和delete() 的函数:

delete() 接受一个 ID(假设您的模型有一个标记为“id”或在模型中定义的主键集);它旨在删除单个记录。

deleteAll() 接受一个带有条件的数组;它的用途是根据这些条件删除多条记录。

所以它是:

delete($id);

deleteAll(['id' => $id]);

不过,在这种情况下,后者有点过分了。

但是,问题仍然存在:为什么要添加这个函数,因为您可以直接从 Controller 调用delete()?

关于mysql - 删除查询在 cakephp 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34924167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com