es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Comprueba si el valor de select count es null/vacío en el generador de consultas de Symfony.

Mi constructor de consultas se ve así:


$qb
->select([
'c.id as c_id',
'c.name as c_name',
sprintf('(SELECT COUNT(t) FROM %s t WHERE t.example = c.example) as t_total',
t::class),
sprintf('(SELECT COUNT(z) FROM %s z WHERE z.example = c.secondExample) as z_total',
z::class),
])
->from(c:class, 'c')
->getQuery()->getResult();

¿Hay alguna manera de verificar que t_total y z_total sean nulos? No quiero mostrar esta fila solo si t_total Y z_total son nulos / vacíos.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes agregar una cláusula WHERE a tu generador de consultas para filtrar las filas donde t_total y z_total son nulas o vacías. Aquí hay un ejemplo de cómo modificar tu generador de consultas:

    $qb
        ->select([
            'c.id as c_id',
            'c.name as c_name',
            sprintf('(SELECT COUNT(t) FROM %s t WHERE t.example = c.example) as t_total', t::class),
            sprintf('(SELECT COUNT(z) FROM %s z WHERE z.example = c.secondExample) as z_total', z::class),
        ])
        ->from(c::class, 'c')
        ->where(
            $qb->expr()->orX(
                $qb->expr()->isNull('t_total'),
                $qb->expr()->eq('t_total', 0),
                $qb->expr()->isNull('z_total'),
                $qb->expr()->eq('z_total', 0)
            )
        )
        ->getQuery()
        ->getResult();
    

    La cláusula WHERE verifica si t_total o z_total es nulo o vacío (igual a 0) y filtra la fila correspondiente.

Comments are closed.