Undefined method Identity:setData() … prečo tam nie je?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- iNviNho
- Člen | 352
Rozširujem si triedu Nette\Security\User tak, aby som mal vždy česrtvé data v identite usera. Akonáhle si vyžiadam identitu cez getIdentity() a zavolám nad ňou metodu setData(), tak mi píše, že metoda neexistuje. Ok, takže pozerám Nette\Security\Identity a chýba mi tam metoda setData()… @DavidGrudl Je tam táto metoda vynechaná z nejakého určitého dôvodu?
<?php
/**
* Set always fresh and updated data in session
* @return void
*/
public function setFreshData() {
$data = $this->userRepository->getUserById($this->getId());
$this->getIdentity()->setData($data);
}
?>
BTW settery a gettery pre ostatné privátne premenné tam sú.
Editoval iNviNho (5. 11. 2015 17:55)
- David Matějka
- Moderator | 6445
ty data tam muzes dostat pomoci:
foreach ($data as $key => $value) {
$identity->$key = $value;
}