У меня есть простая система crud с zf2 и оракулом.oracle uppcase column zend framework 2 аутентификация
Но у oracle есть проблема с именем столбца: они всегда были заглавными.
я был в состоянии менеджер добавить этот код в организациях:
public function exchangeArray(array $data)
{
$dataInner = array();
foreach ($data as $key => $value) {
$dataInner[strtolower($key)] = $value;
}
...
До сих пор так хорошо! Вся система работает отлично.
Но проблема теперь - это логин.
После действительного входа в систему я получить пользователя из базы данных
public function authenticate(){
$zendDb = $this->sm->get('\Zend\Db\Adapter\Adapter');
$adapter = new DbTable($zendDb);
$adapter->setIdentityColumn('identity')
->setTableName('user')
->setCredentialColumn('credencial')
->setIdentity($this->identity)
->setCredential($this->credential);
$authentication = new AuthenticationService();
$authentication->setAdapter($adapter);
$result = $authentication->authenticate();
if ($result->isValid()) {
$usuario = $authentication->getAdapter()->getResultRowObject(null, "CREDENCIAL");
/*
$usuario == object(stdClass)#285 (3) {
["ID"]=> string(1) "1"
["IDENTITY"]=> string(5) "bruno"
["CREDENTIAL"]=> string(5) "admin"
}
*/
$authentication->getStorage()->write($usuario);
return true;
} else {
$this->messages = $result->getMessages();
return false;
}
}
Контроллер:
$authentication = new AuthenticationService();
$this->layout()->setVariable('user', $authentication->getIdentity());
return array('user'=>$authentication->getIdentity());
Посмотреть
echo $this->user->IDENTITY;
Что я могу сделать, чтобы использовать
echo $this->user->identity;
вместо
echo $this->user->IDENTITY;
как получить данные из оракула, написать код, если вы хотите помочь ... –
информации поступает отсюда '$ authentication-> getAdapter() -> getResultRowObject (null," credencial ");' , но если вы хотите увидеть полный метод, я сделал обновление –