使用CakePHP记录数据库更新

使用CakePHP记录数据库更新,cakephp,Cakephp,如何使用纯SQL在CakePHP中记录所有数据库更新、插入或删除 例如: $this->Car->query('updatecars set color=“red”') 扩展您正在使用的任何数据源,并覆盖\u execute() 方法来记录并传递回父级 例如,假设您当前正在使用dbo_mysql。这意味着 您的数据库配置如下所示: class DATABASE_CONFIG { var $default = array( 'driver' => 'mysq

如何使用纯SQL在CakePHP中记录所有数据库更新、插入或删除

例如:


$this->Car->query('updatecars set color=“red”')

扩展您正在使用的任何数据源,并覆盖
\u execute()
方法来记录并传递回父级

例如,假设您当前正在使用dbo_mysql。这意味着 您的数据库配置如下所示:

class DATABASE_CONFIG {

    var $default = array(
            'driver' => 'mysql',
            // ...
    )
}
因此,将“driver”更改为“mysql\u with\u log”,并创建文件app/model/ datasources/dbo/mysql_with_log.php:

<?php
require (LIBS . 'model' . DS . 'datasources' . DS . 'dbo' . DS .'dbo_mysql.php');
class DboMysqlWithLog extends DboMysql {
   function _execute($sql) {
         $this->log($sql);
         return parent::_execute($sql);
   }
}
?> 

这是你的电话号码

您也可以使用


此插件还将帮助您保存SQL日志。这是指向的链接。

扩展您正在使用的任何数据源,并覆盖
\u execute()
方法来记录并传递回父级

例如,假设您当前正在使用dbo_mysql。这意味着 您的数据库配置如下所示:

class DATABASE_CONFIG {

    var $default = array(
            'driver' => 'mysql',
            // ...
    )
}
因此,将“driver”更改为“mysql\u with\u log”,并创建文件app/model/ datasources/dbo/mysql_with_log.php:

<?php
require (LIBS . 'model' . DS . 'datasources' . DS . 'dbo' . DS .'dbo_mysql.php');
class DboMysqlWithLog extends DboMysql {
   function _execute($sql) {
         $this->log($sql);
         return parent::_execute($sql);
   }
}
?> 

这是你的电话号码

您也可以使用


此插件还将帮助您保存SQL日志。这是到的链接。

如果我还需要记录更新/删除之前数据库中的内容?为此,您必须始终使用新数据进行插入查询,并为给定记录的上一个条目设置
状态='disabled'
。如果我还需要记录更新/删除之前数据库中的内容,那么,您必须始终使用新数据进行insert查询,并为给定记录的上一个条目设置
status='disabled'