2016-03-10 148 views
0

我有個查詢可以得到所有SchoolsJOINDistrict表。查詢不會返回所有字段

SELECT * FROM School LEFT JOIN Dicstrict ON School.school_number = District.school_number ORDER BY School.school_number 

如果我在phpMyAdmin執行這個查詢我得到的結果看起來像:

school_number name school_number 
12345   abc  12345 
67890   def  null 
63712   ghj  null 

如果我在silex與DBAL執行此上doctrine

$stmt = $this->app['db']->executeQuery('SELECT * FROM School LEFT JOIN Dicstrict ON School.school_number = District.school_number ORDER BY School.school_number'); 
$filteredData = array(); 
while ($row = $stmt->fetch()) { 
    $filteredData[] = $row; 
} 
var_dump($filteredData); 

我得到這個結果

school_number name 
12345   abc 
null    def 
null    ghj 

我不知道發生了什麼,我該如何解決這個問題。其他人是否也有同樣的問題?

有人可以給我一個提示嗎?

+1

有兩個同名的字段。在PHP關聯數組中,不能有兩個具有相同名稱的字段。你將不得不使用索引數組(如果列布局更改,可能會導致混亂),或者至少使用AS中的一個字段進行別名 – GordonM

回答

0

您有兩個名稱爲school_number的字段,因此在讀取一行時一個字段被另一個字段覆蓋。

關聯數組不能有兩次相同的密鑰。