$this->user->getId() v modelu

mario85
Člen | 22
+
0
-

Ahoj,
upravil jsem si BaseRepository

public function __construct(Nette\Database\Context $database,
            Nette\Security\User $user)
	{
            $this->database = $database;
            $this->user = $user;
	}

abych se v jednotlivých modelech dostal k $this->user->getId(). Problém ale nastal v UserRepository

class UserRepository extends BaseRepository implements Nette\Security\IAuthenticator

kde se to bije s IAuthenticator a vyhazuje to následující chybu Circular reference detected for services: application.6, security.user, 35_App_Model_UserRepository.

Může mi někdo, prosím, poradit?
Díky

David Matějka
Moderator | 6445
+
+3
-

neni dobry pattern injectovat do repository usera. pokud ale na tom trvas, tak nejsnazsi reseni bude pro authenticator udelat samostatnou sluzbu (tzn nebude soucasti UserRepository ani jej nebude vyzadovat)

mario85
Člen | 22
+
0
-

takže když potřebuju do db uložit id aktulálně přihlášeného uživate, posílat to už z presenteru?

CZechBoY
Člen | 3608
+
+1
-

jo, posílej to jako parametr metodě

mario85
Člen | 22
+
0
-

Díky, budu se držet dobrých rad a přepíši :-)