Я использую Zend и Doctrine для входа в систему, используя таблицу, содержащую также сторонний идентификатор для другой таблицы. Мне нужно получить этот идентификатор, чтобы использовать его в запросе Doctrine (через контроллер) к базе данных, например:
$q = Doctrine_Query::create()
->from('Lost_Model_Item i')
->where('i.StatID = ?', 'I need the ID here')
$result = $q->fetchArray();
Я пытался получить это так:
Zend_Auth::getInstance()->getIdentity()->ID
Но, похоже, не работает. Я новичок в Zend и немного потерян здесь. Не могли бы вы помочь?
Поскольку я работаю с доктриной, я создал адаптер следующим образом:
public function authenticate()
{
$q = Doctrine_Query::create()
->from('Lost_Model_Station u')
->where('u.username = ? AND u.password = MD5(?)',
array($this->username, $this->password)
);
$result = $q->fetchArray();
if (count($result) == 1) {
$this->_resultArray = $result[0];
return new Zend_Auth_Result(
Zend_Auth_Result::SUCCESS, $this->username, array());
} else {
return new Zend_Auth_Result(
Zend_Auth_Result::FAILURE, null,
array('Authentication unsuccessful')
);
}
}