PHP / Платформа Зенда: Сила предварительно ожидает имя таблицы к имени столбца в массиве результата?

Я использую Zend_Db_Select в настоящее время для получения иерархических данных из нескольких объединяемых таблиц. Я должен смочь преобразовать это легко в массив. За исключением использования оператора переключения и списка все столбцы индивидуально для сортировки данных, моя мысль была то, что, если бы я мог бы автопредварительно ожидать имена таблиц к ключам в массиве результата, который решил бы мою проблему. Так рассматривая следующий (собранный) 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'

У кого-либо есть идея, как достигнуть этого?

Спасибо!

1
задан Brian Lacy 7 June 2010 в 14:03
поделиться

2 ответа

Поскольку robertbasic ускользает от этого, вам необходимо расширить свои классы Row и RowSet для достижения этой цели. Загляните сюда, чтобы начать работу http://framework.zend.com/manual/en/zend.db.table.rowset.html

1
ответ дан 3 September 2019 в 00:00
поделиться

Автоподдержка без расширения частей ZF, AFAIK невозможна. Однако вы можете указать ему, как назвать столбцы в выбранном наборе строк:

$select->from(array('users'=>$this->_name),
    array('user_id' => 'id', 'user_name' => 'username'));

и так далее ...

1
ответ дан 3 September 2019 в 00:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: