Laravel은 인기있는 PHP 개발 프레임 워크이며 특히 웹 배경 및 API를 구축하는 데 적합합니다. 매일 개발에서는 종종 데이터베이스를 추가, 삭제, 수정 및 확인해야합니다. 디버깅 또는 성능 분석 목적으로 개발자는 때때로 응용 프로그램에서 실행 된 마지막 SQL 문을 볼 필요가 있습니다. 이 기사는 Laravel 에서이 요구 사항을 구현하는 방법을 설명합니다.
마지막으로 실행 된 SQL 문을 얻으려면 주로 Laravel이 제공 한 DB :: Listen () 메소드에 의존하여 데이터베이스 쿼리를 실행할 때마다 관련 정보를 캡처 할 수 있습니다. 또한 Laravel의 로깅 시스템과 결합하여 이러한 SQL 문을 후속 분석을 위해 저장할 수 있습니다.
Laravel의 기본 데이터베이스 액세스는 일반적으로 PHP의 PDO 확장을 통해 수행됩니다. PDO는 MySQL, PostgreSQL, SQLite 등과 같은 여러 데이터베이스 유형을 지원하는 데이터베이스 추상화 계층입니다. Laravel의 로깅 시스템을 사용하면 실행 된 SQL 문을 쉽게 로그인 할 수 있습니다.
다음은 Laravel의 DB Facade를 사용하여 SQL 실행을 듣는 특정 코드입니다.
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\DB;
DB::listen(function ($query) {
Log::info($query->sql);
});
이 코드의 구현 로직은 다음과 같습니다.
기본적으로 로그는 Storage/logs/laravel.log 파일에 로그인됩니다.
개발 또는 디버그 환경 에서이 방법을 사용하여 생산 환경에서 모든 SQL을 기록하지 않도록 SQL 쿼리를 캡처하는 것이 좋습니다. 실제 요구에 따라 현재 환경을 판단하여 모니터링 기능의 온 및 오프를 유연하게 제어 할 수 있습니다.
이 기사를 통해 Laravel에서 마지막으로 실행 된 SQL 문을 듣고 기록하는 방법을 배웁니다. 이는 데이터베이스 작업을 디버깅하고 쿼리 효율성을 최적화하는 데 중요한 역할을합니다. Laravel에서 제공하는 DB :: 청취 방법 및 로깅 시스템을 통해 개발자는 SQL 실행을 쉽게 추적 할 수 있습니다.