¿Hay alguna forma para dar salida al SQL generado por una propulsión seleccionar en Symfony?
Pregunta
Quiero dar salida a la consulta generada por una propulsión Symfony seleccionar para realizar pruebas. ¿Hay alguna manera de hacer esto? Sé que puedo utilizar la barra de SF_DEBUG, pero a veces necesito ver la declaración en una situación en la barra SF_DEBUG no ha cargado todavía, o no se va a cargar en absoluto.
Solución
Timmow es correcto que hay un método Criteria::toString()
, pero no es el método _toString()
mágica que se llama automáticamente cuando se hace referencia al objeto como una cadena.
Si desea ver el SQL que tiene que llamar explícitamente Criteria::toString()
.
$c = new Criteria();
// HERE: add criteria
// what's it do?
echo $c->toString(); // oh, that's what it does
Otros consejos
Propel Criterios objetos tienen un toString método, por lo que simplemente debe ser capaz de eco / var_dump / log en un archivo los criterios objeto que le interesa en
También podría ser útil para echar un vistazo en el Día 6 del tutorial Jobeet, Depuración Propel genera SQL . Si estás en el entorno de depuración, las consultas son primas de salida para los archivos de registro. No es 100% seguro de que tengo uso de Doctrina.
Usted obtendrá la instrucción SQL generada de esa manera después de haber construir el criterio:
$params= array();
$resulting_sql_statement = BasePeer::createSelectSql($criteria,$params);