Symfony에서 Propel Select에 의해 생성 된 SQL을 출력하는 방법이 있습니까?

StackOverflow https://stackoverflow.com/questions/1662071

  •  12-09-2019
  •  | 
  •  

문제

테스트 목적으로 Symfony Propel Select에 의해 생성 된 쿼리를 출력하고 싶습니다. 이것을 할 방법이 있습니까? 나는 sf_debug bar를 사용할 수 있다는 것을 알고 있지만 때로는 sf_debug 막대가 아직로드되지 않았거나 전혀로드하지 않을 상황에서 진술을 볼 필요가 있습니다.

도움이 되었습니까?

해결책

Timmow는 a가 있습니다 Criteria::toString() 방법, 그러나 그것은 마법이 아닙니다 _toString() 객체가 문자열로 참조 될 때 자동으로 호출되는 메소드.

SQL을보고 싶다면 명시 적으로 호출해야합니다. Criteria::toString().

$c = new Criteria();
// HERE: add criteria
// what's it do?
echo $c->toString(); // oh, that's what it does

다른 팁

추진 기준 객체는 a 토스트 링 메소드, 따라서 관심있는 기준 객체를 파일에 Echo / var_dump / 로그 할 수 있어야합니다.

또한 Jobeet 튜토리얼의 6 일째를 살펴 보는 것이 도움이 될 수 있습니다. 디버깅 프로펠 생성 SQL. 디버그 환경에있는 경우 원시 쿼리가 로그 파일에 출력됩니다. 내가 교리를 사용함에 따라 100% 확실하지 않습니다.

기준을 구축 한 후에 생성 된 SQL 문을 얻을 수 있습니다.

    $params= array();
    $resulting_sql_statement = BasePeer::createSelectSql($criteria,$params);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top