В настоящее время я использую Zend_Db_Select для извлечения иерархических данных из нескольких объединенных таблиц. Мне нужно иметь возможность легко преобразовать это в массив. Если не считать оператора switch и перечислять все столбцы по отдельности для сортировки данных, я думал, что если бы я мог получить имена таблиц, автоматически добавленные к ключам в массиве результатов, это решило бы мою проблему. Итак, учитывая следующий (собранный) SQL:
SELECT user.*, contact.* FROM user INNER JOIN contact ON contact.user_id = user.user_id
Обычно я получаю массив результатов, подобный этому:
[username] => 'bob',
[contact_id] => 5,
[user_id] => 2,
[firstname] => 'bob',
[lastname] => 'larsen'
Но вместо этого я хочу это:
[user.user_id] => 2,
[user.username] => 'bob',
[contact.contact_id] => 5,
[contact.firstname] => 'bob',
[contact.lastname] => 'larsen'
У кого-нибудь есть идеи, как этого добиться?
Спасибо!