При использовании Zend_Db_Table
с и Zend_Db_Table_Select
с Zend_Db_Adapter_Pdo_Pgsql
, у меня возникли проблемы с помощью запроса на выборку:соединенные таблицы перезаписать столбцы
$rowset = $db->select()->from(array('a'=>'tablea'))
->columns(array('a.a'))
->join(array('b'=>'tableb'),'b.id = a.id', array('b.a'))
->query()->fetchAll();
Ожидаемое содержимое строк: (в основном клавиши)
$rowset['a.a'] = "something";
$rowset['b.a'] = "somethingElse";
В фактическом содержании $rowset
существует только $rowset['a']
, без возможности разграничения между объединенными таблицами.
Любые решения для этого?
Когда только делает
$q = "SELECT * FROM tablea AS a
JOIN tableb AS b ON a.key = b.fkey";
$dbtable->getAdapter()->fetchAll($q);
Я тоже не понимаю, что я ожидал.
Есть ли опечатка в вашем вопросе? По определению ключи массива уникальны, поэтому ваше «ожидаемое содержимое набора строк» для меня не имеет смысла. –
Когда я использую синтаксис ''tablename' AS 'alias'', я ожидаю, что мои результаты будут названы« alias ».
ах, но на самом деле я перепутал со вторым '$ rowset ['b.a']' –