Select nad pohledem v sqlite vrací dvojité hranaté závorky. BUG v Database?

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

Ahoj.

Používám databázi sqlite a Nette Database.

Mám tabulku test a pohled na ní view_test. V pohledu jen zobrazuji všechny sloupce tabulky test.

Pokud udělám toto: $this->database->table(‚view_test‘)->select(…, pak nemůžu iterovat přes názvy sloupců, protože místo [nazev_sloupce] vrací iterator [[nazev_sloupce]]. Viz. ArrayIterator Object ( [storage:ArrayIterator:private] => Array ( [[id]] => 1 [[user_id]] => 2 [[category]] = ...

Pokud udělám toto: $this->database->table(‚test‘)->select(…, pak iterace funguje bez problému viz. ArrayIterator Object ( [storage:ArrayIterator:private] => Array ( [id] => 1 [user_id] => 2 [category] = ...

Tím „nemůžu iterovat“ myslím toto:

foreach ($selection as $entry) {
	$entry['id']; -- neexistuje, $entry['[id]'] ano
}

Dělám někde chybu já nebo je to BUG v Nette?

Majkl578
Moderator | 1364
+
0
-

2.1-dev? Nejspíš způsobeno tímto.

vasek125
Člen | 34
+
0
-

Ne, používám stabilní verzi 2.0.10

vasek125
Člen | 34
+
0
-

A používám sqlite3 databázi, takže tato třída by na to vliv neměla.

Majkl578
Moderator | 1364
+
0
-

V tom případě tam asi chybí podobná normalizace. Otevřeš issue na GitHubu?

vasek125
Člen | 34
+
0
-

Po zkopírování normalizeRow z Sqlite2Driver.php do SqliteDriver.php to funguje, takže tam skutečně chybí ta normalizace. Issue jsem otevřel.