2012-08-13 57 views
1
登錄數據庫更新

如何登錄數據庫更新,插入或刪除CakePHP中使用純SQL製成?使用CakePHP

例如:

$這 - > CAR->查詢( '更新汽車設置的顏色= 「紅色」');

+0

http://book.cakephp.org/2.0/en/core-libraries/logging.html – 2012-08-13 12:11:50

回答

1

擴展您正在使用的任何數據源並覆蓋_execute() 方法以記錄並傳遞迴父級。

例如,假設您目前正在使用dbo_mysql承擔。這意味着 你的數據庫的配置是這樣的:

class DATABASE_CONFIG { 

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

所以更改 '驅動' 到 'mysql_with_log',並創建文件app /模型/ 數據源/ 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

+0

如果我也需要記錄那些在數據庫中更新之前,內容/刪除? – 2012-08-13 20:51:22

+0

爲此,您必須始終使用新數據進行插入查詢,併爲給定記錄的前一條目設置「status ='disabled''。 – 2012-08-14 04:04:10