Hola buenos días soy nuevo con Yii2 y estoy tratando de recrear la consulta que hice en phpMyAdmin. Ya trate de varias formas pero no manda nada o da errores, el último intento fue con subconsultas pero manda error 500.
Este es el código en MySQL que sale bien:
SELECT DISTINCT CONCAT(c.NOMBRE,' ',c.APELLIDO_PATERNO,' ',c.APELLIDO_MATERNO) AS NOMBRE_CANDIDATO
FROM tbl_candidatos c
LEFT JOIN (SELECT FK_CANDIDATO, count(PK_VACANTES_CANDIDATOS) AS Num_Vacantes
FROM tbl_vacantes_candidatos
GROUP BY FK_CANDIDATO) nc
ON nc.FK_CANDIDATO = c.PK_CANDIDATO
WHERE NOT EXISTS(SELECT 1 FROM tbl_vacantes_candidatos
WHERE FK_VACANTE = 164
AND FK_CANDIDATO = nc.FK_CANDIDATO);
Y esto es hasta donde me quede en el controller pero da error:
$subQuery = (new \yii\db\Query())
->select([
'FK_CANDIDATO',
'COUNT(PK_VACANTES_CANDIDATOS)'
])
->from('tbl_vacantes_candidatos')
->groupBy('FK_CANDIDATO')
->all();
$dataProvider2 = (new \yii\db\Query())
->select([
'CONCAT(c.NOMBRE," ", c.APELLIDO_PATERNO, " ",c.APELLIDO_MATERNO) AS NOMBRE'
])
->from('tbl_candidatos as c')
->leftJoin(['nc' => $subQuery], 'nc.FK_CANDIDATO = c.PK_CANDIDATO')
->distinct()
->all();
¿Alguien me puede enseñar como hacerlo bien?