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”部分。关系是定义的,但如果我把这部分陈述排除在外,我会得到明显错误的结果。
谢谢,马尼沙