使用CakePHP记录数据库更新

时间:2012-08-13 12:08:46

标签: cakephp

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

示例:

$ this-> Car-> query('update cars set color =“red”');

1 个答案:

答案 0 :(得分:1)

扩展您正在使用的任何数据源并覆盖_execute() 记录并传回父级的方法。

例如,假设您当前正在使用dbo_mysql。这意味着 你的db配置是这样的:

class DATABASE_CONFIG {

    var $default = array(
            'driver' => 'mysql',
            // ...
    )
}

将'driver'更改为'mysql_with_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);
   }
}
?> 

这是Reference link

您也可以使用Cake debug kit

此插件还可以帮助您保存SQL日志。以下是download Debug Kit的链接。