Mysql
 sql >> Database >  >> RDS >> Mysql

Errore:PathExpression non valido. Deve essere un StateFieldPathExpression non riuscito nella selezione del campo

Devi unirti alle tue relazioni usando le loro proprietà mappate come per il sondaggio devi unirti a questo nel tuo oggetto del generatore di query

$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();

Inoltre sarebbe utile se ti unissi a Entity\AbstractClientRecord e Entity\Client utilizzando alcune proprietà mappate come hai già fatto per il sondaggio , come

$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();