Získání dalších údajů z Identity pomocí getData()

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Popik
Člen | 30
+
0
-

Ahoj, potřeboval bych prosím poradit s řešením tohoto problému.

Při přihlášení uživatele, vytvořím jeho identitu takto:

<?php
return new Identity($row->idUsers, $row->Authorization, $row->Last_Login);
?>

Na idUsers se dostanu pomocí getName(), to je v pohohě.
Na Authorization pomocí getRoles(), to je taky v pohodě.
Na Last_Login jsem se chtěl dostat pomocí getData(), ale nejde mi to.

Kód metody, která tento údaj měla vracet:

<?php

public function getDateTime() {
    $loginDateTime = Environment::getUser()->getIdentity()->getData();
    return $loginDateTime[0];

}

?>

Hlásí to: Undefined offset: 0. Když si proměnnou $loginDateTime vypíšu pomocí print_r, tak napíše:

Array ( [Last_Login] ⇒ [idUsers] ⇒ )

To mi příde nějaký divný.

Používám Nette 0.9.5

Díky moc za rady.

Loric
Člen | 14
+
0
-

nejsem si jistý, ale zkus:

public function getDateTime()
{
    $loginDateTime = Environment::getUser()->getIdentity()->getData();
    return $loginDateTime["Last_Login"];
}
Popik
Člen | 30
+
0
-

Bohužel nejde.

Tak už mám řešení.

Identitu vytvořit takto:

<?php

return new Identity($row->idUsers, $row->Authorization, $row);

?>

a data získám tak jak mi tu bylo poraděno.

Editoval Popik (13. 7. 2010 12:56)

Majkl578
Moderator | 1364
+
0
-

Data jsou vždy pole a přistupuje se k nim pomocí přetězování Identity:

$identity->foo; //foo je prvek z pole dat předaných při přihlášení