sql >> Base de Datos >  >> RDS >> Mysql

Error:expresión de ruta no válida. Debe ser un StateFieldPathExpression que falla en la selección de campo

Debe unir sus relaciones usando sus propiedades asignadas, como para la encuesta, debe unirse a esto en su objeto generador de consultas

$result = $qb->select(['csr.id','s']) // or add column names ['csr.id','s.id','s.title', ...]
              ->from('Entity\ClientSurveyRecord', 'csr')
              ->innerJoin('csr.survey','s')
              ->innerJoin('Entity\AbstractClientRecord','cr','WITH','cr.id = csr.id')
              ->innerJoin('Entity\Client','c','WITH','cr.client = c.id')
              ->where('s.id = :id_survey')
              ->setParameter('id_survey',$id)
              ->getQuery()
              ->getResult();

También sería bueno si te unes a Entity\AbstractClientRecord y Entity\Client usando algunas propiedades asignadas como ya lo ha hecho para la encuesta, como

$result = $qb->select(['csr.id','s'])
              ->from('Entity\ClientSurveyRecord', 'csr')
              ->innerJoin('csr.survey','s')
              ->innerJoin('csr.abstractClientRecord','cr')
              ->innerJoin('cr.client','c')
              ->where('s.id = :id_survey')
              ->setParameter('id_survey',$id)
              ->getQuery()
              ->getResult();