pure SQL을 사용하여 만들어진 CakePHP에서 모든 데이터베이스 업데이트, 삽입 또는 삭제를 기록하는 방법은 무엇입니까?CakePHP로 데이터베이스 업데이트 기록
예 :
$ this-> 자동차 -> 쿼리 ('업데이트 자동차 색상을 설정 = "빨간색"');
pure SQL을 사용하여 만들어진 CakePHP에서 모든 데이터베이스 업데이트, 삽입 또는 삭제를 기록하는 방법은 무엇입니까?CakePHP로 데이터베이스 업데이트 기록
예 :
$ this-> 자동차 -> 쿼리 ('업데이트 자동차 색상을 설정 = "빨간색"');
사용중인 데이터 소스를 확장하고 _execute()
메서드를 재정 의하여 로그하고 부모에게 다시 전달하십시오.
예를 들어, 현재 dbo_mysql을 사용한다고 가정 해 보겠습니다.
class DATABASE_CONFIG {
var $default = array(
'driver' => 'mysql',
// ...
)
}
그래서 'mysql_with_log'에서 '드라이버'를 변경하고 파일 응용 프로그램/모델/ 데이터 소스/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);
}
}
?>
을 그 당신의 DB를 설정 이런 식으로 뭔가 의미
여기에 Reference link입니다.
Cake debug kit을 사용할 수도 있습니다.
이 플러그인은 SQL 로그를 저장하는데도 도움이됩니다. 다음은 download Debug Kit에 대한 링크입니다.
업데이트/삭제하기 전에 데이터베이스에 있던 콘텐츠도 로깅해야합니까? –
이를 위해서는 새로운 데이터로 항상 삽입 쿼리를 작성하고 주어진 레코드에 대해 이전 항목에 대해'status = 'disabled''를 설정해야합니다. –
http://book.cakephp.org/2.0/ko/core-libraries/logging.html –