Я использую zend framework, и я пытаюсь получить число пользователей с идентификатором уровня 11. Я очень новичок в Zend и не использовал формат запросов к БД. Я могу сделать это в прямом SQL, но я хочу сохранить их формат. Любые предложения были бы замечательными.
$select = $table->select()
->setIntegrityCheck(false)
->from(array('u' => $table->info('name')), array('cnt' => 'COUNT(u.user_id)'))
->where('level_id = ?', 11)
->where('approved = ?', 1)
->where('verified = ?', 1)
->where('enabled = ?', 1);
Это просто возвращает 1, это должно быть 251
Пожалуйста, взгляните это.
$select = $db->select()
->setIntegrityCheck(false)
->from($table->info('name'), array('ctn'=>'COUNT(user_id)'))
->where('level_id = ?', 11)
->where('approved = ?', 1)
->where('verified = ?', 1)
->where('enabled = ?', 1);
$result = $db->fetchRow($select);
echo $result["ctn"];
Еще проще:
$select = $db->select()
->setIntegrityCheck(false) //really necessary ?
->from($table->info('name'), 'COUNT(user_id)' )
->where('level_id = ?', 11)
->where('approved = ?', 1)
->where('verified = ?', 1)
->where('enabled = ?', 1);
$ result = $db-> fetchOne ($ select); echo $ result;