我在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'
请指导我踩错的地方..
答案 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
);