Cakephp 인쇄 SQL 디버그 오류 메시지가 표시될 때마다 이 문제 해결 팁을 읽는 것이 좋습니다.

Cakephp가 경험하지 않는 것은 매우 성가신 일입니다. $ this-> Model> lastQuery(); 대. 다음은 두 가지 완전한 치료 계획입니다 – 맞춤형 핸드 소파 버전:

1. 최종 쿼리 함수 생성

CakePHP SQL 디버그 프로덕션을 일치시키려면 $ app config/core만 엽니다. php에서 일종의 디버그 옵션을 찾습니다.

마지막 충돌 시작을 인쇄하려면 /app_model.File이 필요할 때 perl을 추가하십시오.

Cakephp app Config 로 이동하여 커널을 시작하십시오.이제 Configure :: type(‘debug’, 0)을 찾습니다. 이제 디버그 노트를 1과 2로 바꿀 수 있습니다.

  lastQuery() 함수    $ dbo는 $ this-> getDatasource();    $ 로그는 rrr dbo -> _ queryLog를 의미합니다.    // 혼합에 대한 계속의 첫 번째 기능을 보냅니다(즉, 마지막 요청).    반복 현재(종료($ 로그)); 
  디버그($ this-> lastQuery()); // 모델리에서 작업 
  디버그($ this-> Model> lastQuery()); // 컨트롤러에서 

2. 기본 SQL 보기 만들기(모델에서는 사용할 수 없음)

주어진 특정 페이지에 대한 모든 요청을 인쇄하려면 현재 컨트롤러(또는 구성 요소 등) 내부에서 다음을 수행하십시오.

이 특정 데이터베이스 목록을 표시하려면 먼저 TableRegistry 클래스에 의해 생성된 테이블을 가져올 수 있어야 합니다. 가장 중요한 get() 메서드를 사용하여 레지스트리에서 각 인스턴스를 가져올 수 있습니다. () 메서드를 활용하면 데이터 테이블의 이름을 인수로 사용합니다.

  $ this-> 렌더('sql'); 

읽기 오류가 누락되었을 수 있습니다. 또한 최근 액세스가 작은 요청으로 돌아오는 것보다 낫습니다!

(가이드 소파 모드로 /elements/sql_dump.ctp / libs / view elements / backcake로 설명할 수 있지만 sql.ctp 보기를 홍보하지 않고 이 모드를 진행하는 데 매우 열심이었습니다. 누군가 이것을 설명하시겠습니까? )

<사전> 요소 (‘sql_dump’); ?>

(현재 레이아웃에서) 또는 DebugKit은 꽤 효율적입니다. 작동하려면 `render` 가 필요합니다. 이것은 리디렉션을 방지하기 위해 모든 컨트롤러 중간에 `exit;` 파일이 있었기 때문에 이 경우에 문제였습니다.

$ 기호 = $ this-> 모델> getDataSource() -> getLog(거짓, 거짓);디버깅($ 로그);

추신: 템플릿 을 안전하게 대체하려면 실제 템플릿 호출에 대한 충분한 유도를 생성하십시오 …

cakephp design sql debug

무료 흥분CakePHP SQL 서버: CakePHP를 처음 접하는 경우 개인의 첫 CakePHP 브라우징 페이지를 인식하는 놀라운 점 중 하나는 일반적으로 CakePHP 디버그 출력(SQL 디버그 출력 ), 이는 말 그대로 브라우징 구절의 맨 아래에서 찾을 수 있습니다. 이것은 확실히 당신이 CakePHP를 배우고 싶을 때, 그리고 당신이 사람들을 위해 CakePHP가 무엇을 요구하는지 정확히 파악하려고 할 때마다 당신에게 훌륭한 제공이 됩니다. 그러나 당신이 그것을 시작하더라도 그것은 당신을 매우 놀라게 할 수 있습니다.

이 멋진 CakePHP 디버그 출력 기능은 종종 CakePHP FAQ로 이어집니다. 현재 내 페이지 하단에 있는 모든 CakePHP SQL 디버그 출력을 비활성화(사용자 정의)하려면 어떻게 해야 합니까?

CakePHP SQL 디버그 출력을 사용자 정의하는 방법

CakePHP SQL 디버그 최종 결과를 구성하려면 debug 매개변수를 찾아 정확한 $ application market / config / core.php 를 엽니다. CakePHP 버전 1.2.5에서 이 검색 문자열은 다음과 같습니다.

구성 :: write(‘디버그’, 2);

체납으로 인해 이 디버그 옵션은 CakePHP의 확대/축소 모드 옵션 중 하나인 2 로 설정됩니다.

GetLastQuery() 함수$ dbo = 현금화 -> getDatasource();$ 로그는 $ dbo-> getLog()를 의미합니다.$ lastLog는 끝과 같습니다($ logs [‘log’]);소득 반환 lastLog [‘요청’];

CakePHP는 현재 사용할 수 있는 거의 다양한 디버그 모드 옵션을 지원합니다. 구성에 따라 이 CakePHP 디버그 매개변수를 완전한 값 0-3으로 제어할 수 있습니다. 다음은 CakePHP가 core.php 구성 파일을 이 네 가지 영역에 연결하는 방법에 대한 조언입니다.

/ ** * CakePHP 디버그 레벨: * * 조건: 생산 1. nil: 오류 메시지 없음, 오류 없음, 경고 없음. 플래시 메시지를 리디렉션합니다. * ii. 개발 모드: 1: * 오류 및 경고를 표시하고, 모델 캐시를 새로 고치고, 플래시 메시지를 중지합니다. * 2: 1과 정확히 동일하지만 디버그 메시지 및 SQL 출력을 위한 액세서리에서도 완료됩니다. 3. 3: 2와 동일하지만 그럼에도 불구하고 전체 제어 덤프가 있을 수도 있습니다. (참고: CakePHP 1에서는 사용할 수 없습니다. * 삼) * 이 제작 기능에서는 일정 시간이 지나면 바로 플래시 메시지가 전송됩니다. * 개발 모드에서 계속 진행하려면 메시지 아이콘을 클릭해야 합니다. * /

CakePHP SQL 디버깅 문서에서 볼 수 있듯이 홈 애플리케이션이 앞서 나갈 때마다 이 CakePHP 디버그 설정을 0 으로 설정할 수 있습니다.

// 이념적 생산 모드에서 cakephp에 관한 디버그 수준을 정의합니다.구성 :: draw up (‘디버그’, 0);

참고. 현재 사용 중인 CakePHP 버전 1.2.5에서 CakePHP 디버그 옵션은 확실히 2

로 설정되어 있습니다.

CakePHP SQL 디버깅 – CakePHP 1.3

내가 최근에 CakePHP 1.3에서 얻은 것처럼, 당신이 정말로 CakePHP의 보기 페이지에서 CakePHP SQL 디버그 생성을 보고 싶다면, 페이지를 보기 위해 다음 라인을 포함하도록 요청하십시오:

echo $ this-> side (‘sql_dump’);

각 보기/레이아웃/default.ctp 에 대해 $ app에 항목 대기열을 추가할 수도 있습니다. 사실 이것은 아마도 CakePHP의 디버그 모드에서 가장 중요한 가장 중요한 작업일 것입니다.

죄송합니다. 저는 아직 CakePHP 1.3에 대해 잘 알지 못합니다. CakePHP 1.3에서 CakePHP 보기 루프를 실행할 때 이 정책 라인이 CakePHP 보기 페이지를 생성하지 않는 이유를 이해하십시오. (이전 버전의 CakePHP에서는 기본 보기를 표시하기 위해 "echo To $ cakedebug"를 삽입해야 했지만 확실히 이전 코드를 개발해야 한다고 생각했습니다.)

cakephp 인쇄 SQL 디버그