Проблема в вашем join()
вызове метода:
->join('user_details', 'user_id.uid = user_details.uid')
Необязательный третий аргумент - это столбцы из таблицы этой . Если аргумент отсутствует, по умолчанию используется значение user_details.*
.
Обратите внимание, что вы добавили подходящие столбцы из обеих таблиц в таблицу from()
, но это не влияет на значение по умолчанию user_details.*
. Извините, но Zend_Db_Select
просто недостаточно умен, чтобы отслеживать все это.
Вы можете сделать вызов join()
, не добавляя столбцы, передав пустой массив:
->join('user_details', 'user_id.uid = user_details.uid', array())
Квалифицированные столбцы, добавленные вами в вызове from()
, все еще должны быть там. Чтобы убедиться в этом, напечатайте SQL:
print $result . "\n"; // calls __toString() method on Zend_Db_Select object