У меня есть запрос, чтобы получить все Schools
с JOIN
до District
.Запрос не возвращает все поля
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
Если я выполнить это на doctrine
с DBAL в silex
:
$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
У меня нет никаких идей, что произойдет и как я могу решить эту проблему. У кого-то еще такая же проблема?
Может кто-нибудь дать мне подсказку?
Существует два поля с тем же именем. Вы не можете иметь два поля с тем же именем в ассоциативных массивах PHP. Вам придется либо использовать индексированные массивы (и мириться с беспорядком, который может возникнуть при изменении макета столбца), либо псевдоним хотя бы одного из полей с AS – GordonM