데이터베이스 이벤트

데이터베이스 클래스에는 데이터베이스 실행중 발생하는 상황에 대해 자세히 알아볼 수 있는 몇 가지 이벤트가 있습니다. 이러한 이벤트는 분석 및 보고를 위해 데이터를 수집하는 데 사용될 수 있습니다. 디버그 툴바는 이를 사용하여 툴바에 표시할 쿼리를 수집합니다.

이벤트

DBQuery

이 이벤트는 성공 여부와 관계없이 새 쿼리가 실행될 때 마다 트리거됩니다. 단일 매개 변수로 사용중인 쿼리의 Query 인스턴스입니다. 이를 사용하여 모든 쿼리를 STDOUT으로 표시하거나, 파일에 로깅하거나, 자동으로 쿼리 분석을 수행하는 도구를 작성하여 잠재적으로 누락 된 인덱스, 느린 쿼리 등을 발견할 수 있습니다. 사용 예는 다음과 같습니다.

// In Config\Events.php
Events::on('DBQuery', 'CodeIgniter\Debug\Toolbar\Collectors\Database::collect');

// Collect the queries so something can be done with them later.
public static function collect(CodeIgniter\Database\Query $query)
{
    static::$queries[] = $query;
}