Doctrine Multiple Join Query出错

时间:2013-04-18 09:22:54

标签: php doctrine-orm dql

我在Doctrine 2.3.3中编写了一个查询,我想从4个不同的表中检索数据。现在我编写了一个适用于单连接的查询。但是当我写多个连接查询时,它会显示错误..

我的查询是

$query = $parent->entityManager->createQuery('SELECT t,s,q,d FROM TblEmployee t JOIN TblEmployeeShifts s JOIN TblEmployeeQualification q JOIN TblEmployeeDepartment d where t.employeeId = s.employeeId and t.employeeId = d.employeeId and t.employeeId = q.employeeId and t.employeeId ='.$data);

但上面的查询给出了一个错误,如下所示

[Syntax Error] line 0, col 89: Error: Expected =, <, <=, <>, >, >=, !=, got 'q'

请指导我踩错的地方..

1 个答案:

答案 0 :(得分:2)

这是我们可以在Doctrine中执行Multiple Joins的方法之一

$query = $parent->entityManager->createQuery('
    SELECT t,s,d,q 
    FROM TblEmployee t
    JOIN TblEmployeeDepartment s WITH t.employeeId = s.employeeId
    JOIN TblEmployeeShifts d WITH t.employeeId = d.employeeId
    JOIN TblEmployeeQualification q WITH t.employeeId = q.employeeId 
         and t.employeeId = '.$data
);