unset sloupce v Nette\Database\Table\ActiveRow se asi neaplikuje správně

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

Zdravím.

Při dumpování v sandboxu Nette jsem narazil na pozoruhodnou věc.
V authenticate funkci třídy Authenticator se provádí unset($row->password);
Z objektu sloupec opravdu zmití (další dump není možný), avšak ve výsledné Identitě se sloupec stále nachází protože jej vrátí funkce toArray() nad ActiveRow.

Fičura či bug ?

Editoval Semik (5. 2. 2013 20:25)

Felix
Nette Core | 1197
+
0
-

To mi prijde jako bug, zalezi jestli se tam nedostalo to heslo nejak jinak.

JuniorJR
Člen | 181
+
0
-

Potvrzuji stejne chovani: Nette Framework 2.0.8 (revision $WCREV$ released on $WCDATE$)

Semik
Backer | 135
+
0
-

Řešením je $row->password = NULL. Nejspíš problém u Nette\Database resp. ActiveRow, které zřejmě při převodu na pole pracuje s původními daty.

enumag
Člen | 2118
+
0
-

Způsobuje to zřejmě tento řádek. Nejsem si jistý zda je to bug nebo záměr. @hrachu?

Climber007
Člen | 105
+
0
-

V Nette 2.0.12 už jde unset() v pořádku!