Saltar al contenido

Obtenga sql sin procesar del generador de consultas Phalcon

Solución:

Por error y prueba, lo siguiente parece funcionar. Sería genial si alguien pudiera confirmar si hay una manera mejor.

$queryBuilder = new Builder();
$queryBuilder->from(…)->where(…);

$intermediate = $queryBuilder->getQuery()->parse();
$dialect      = DI::getDefault()->get('db')->getDialect();
$sql          = $dialect->select($intermediate);

Editar: A partir de 2.0.3, puede hacerlo de manera súper simple, consulte el comentario para obtener detalles completos:

$modelsManager->createBuilder()
    ->from('SomeRobots')
    ->getQuery()
    ->getSql()

puede usar getRealSqlStatement () (o un nombre de función similar) en el DbAdapter. Ver http://docs.phalconphp.com/en/latest/api/Phalcon_Db_Adapter.html

De acuerdo con la documentación, puede obtener de esta manera la consulta sql resultante.

O espere, es posible que esto no funcione en el generador de consultas. De lo contrario, puede configurar el registro de consultas de bajo nivel: http://docs.phalconphp.com/en/latest/reference/models.html#logging-low-level-sql-statements

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *