Symfony에서 Propel Select에 의해 생성 된 SQL을 출력하는 방법이 있습니까?
문제
테스트 목적으로 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);
제휴하지 않습니다 StackOverflow