2013-04-18 29 views
0

我在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' 

PLS指導我在哪裏im step stepping ..

回答

2

這是我們可以在Doctrine中執行多重連接的一種方式

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