¿Hay alguna forma para dar salida al SQL generado por una propulsión seleccionar en Symfony?

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

  •  12-09-2019
  •  | 
  •  

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.

¿Fue útil?

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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top