-1

mySql でこのクエリを実行すると、必要な結果が得られます。

SELECT reportcolumn.name 
FROM report 
LEFT Join reportcolumn 
ON report.id=reportcolumn.reportid 
WHERE report.title = "Report"

しかし、DQL として記述しようとすると、構文エラーが発生します。

        $report = "Reportname";
        $statement = 'SELECT c.name';
        $statement .= ' FROM AcmeDataBundle:Report r';
        $statement .= ' LEFT JOIN AcmeDataBundle:Reportcolumn c';
        $statement .= ' ON r.id=c.reportid';
        $statement .= ' WHERE r.title = :title';
        $em = $this->getDoctrine()->getManager();
        $query = $em->createQuery($statement)
        ->setParameters(array(
            'title'=> $report,
            ));
        $data = $query->getArrayResult();

ステートメントの「ON」部分をどのように処理すればよいですか。関係は定義されていますが、ステートメントのその部分を除外すると、明らかに間違った結果が得られます。

ありがとう、マニシャ

4

2 に答える 2