Я использую Doctrine 1.2 в рамках Zend для выполнения запросов к моей базе данных.У меня есть две таблицы, которые я запрашиваю, используя внутреннее соединение, например:
$q = Doctrine_Query::create()
->from('My_Model_MaterialsFromDb g')
->innerJoin('t.My_Model_TeachingMaterials t');
->where('g.id= ?', $id)
$result = $q->fetchArray();
В основном, первая таблица (materialsFromDb) содержит список всех учебных материалов, которые я использую для урока.Второй (trainingMaterials) содержит подробную информацию о самих материалах.
Когда я запускаю этот запрос, вот как неизменно выглядит результат:
Array
(
[0] => Array
(
[id] => 1
[activityId] => 1
[materialId] => 2
[My_Model_Materials] => Array
(
[id] => 2
[title] => My Groovy Material
[materialType] => Worksheet
[description] => This is my groovy material. It looks really cool.
[filename] => Groovy Material.doc
[uploaderId] => 1
[uploadDate] => 2012-02-16
)
)
)
Есть ли способ, которым я могу выполнитьзапрос доктрины, чтобы "сгладить" это в один массив?Результат выглядит так, потому что обе таблицы имеют первичный ключ с именем "id"?Иметь этот многомерный массив в качестве моего результата - настоящая боль, если не сказать больше.