fetchPairs() s float klíčem

Kamil Valenta
Člen | 758
+
0
-

Ahoj.
Nevím, zda to považovat za bug Nette, ona je to trochu vlastnost PHP, ale působí to hůř odhalitelné chyby a Nette by to mohlo snadno řešit.

Pokud mám DB tabulku:

key INT val STRING
1 foo
2 bar

Následně zavolám table()->fetchPairs(‚key‘, ‚val‘);
Dostanu pole dle očekávání:
Array (
1 ⇒ foo,
2 ⇒ bar
)

Problém nastane, když bude klíč typu float, protože PHP umí klíče jen celočíselné nebo textové.

key FLOAT val STRING
1.0 foo
1.5 bar

Po fetchPairs() dostanu neočekávané pole:
Array (
1 ⇒ bar
)

Stačilo by, kdyby fetchPairs() při floatovém klíči zapisovalo do pole např. pod indexem ['\'' . $key . '\''], tím se float klíč zachová, protože bude interpretován jako string.

Je to hloupost?

David Grudl
Nette Core | 8116
+
0
-

Dobrý nápad!