Он просто уменьшается pending
на единицу и получает свое логическое дополнение (отрицание). Логическим дополнением любого числа, отличного от 0, является false
, для 0 - true
.
Проблема заключается в вызове вашего метода 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
Добавьте еще один параметр в ваше соединение в конце - пустой массив. Это скажет ему, что не нужно выбирать столбцы из объединения. С помощью имеющегося у вас кода вы выбираете все столбцы из объединенной таблицы.
->join('user_details', 'user_id.uid = user_details.uid', array())