Ukládání YetORM entity do session

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

Zdravim, pouzivam v projektu YetORM entitu pro Usera (chtel bych mit jeden objekt jako IIdentity i jako Databazovy objekt).
Vse funguje v poradku az do loginu, kdy mi po loginu Nette zahlasi

Failed to decode session object. Session has been destroyed.

Jakmile vyhodim YetORM\Entity z tridy User tak mi vse funguje v poradku.
Hadam ze problem je ze se session vola rychleji nez se nacte ta trida tak to pak hodi #PHPIncompleteClass nebo jak se to jmenovalo… da se to nejak vyresit?

Diky za tipy.

Nize je ta User trida

namespace App\Model\Entities;

use Nette\Security\IIdentity;

/**
 * @property-read int $userId
 * @property string $email
 * @property string $password
 * @property string $firstname
 * @property string $surname
 * @property \DateTime $registerTime
 * @property \DateTime $lastLoginTime
 * @property bool $active
 */
class User extends \YetORM\Entity implements IIdentity {

	/**
	 * @return mixed
	 */
	public function getId(){
        return $this->userId;
    }

	/**
	 * @return array
	 */
    public function getRoles(){
		return [];
    }
}

Editoval raddy668 (6. 4. 2017 16:56)

David Matějka
Moderator | 6445
+
+1
-

ahoj, serializovat ruzne entity, databazove radky atd. je tezko resitelny problem snad kazdeho ORM.

Jestli chces mit entitu jako identitu, resi se to obvykle upravou UserStorage – muzes se inspirovat jak to dela Majkl pro doctrinu

ale posledni dobou pouzivam spise pristup, ze do identity ulozim pouze ID a entitu si vytahnu nekde v presenteru ve startupu

manwe
Člen | 44
+
0
-

Hm, to jsem mel tak doted, a rekl jsem si – kurnik udelam to poradne… no nic, uz jsem zabil 2h zivota i horsim zpusobem :D

Kazdopadne diky za pomoc! :)