SendJson a Database\Table\Selection
- Richard Faila
- Člen | 40
Zdravím
Snažil jsem se jedné JS komponentě poslat JSON data. Z databáze jsem
dostal Nette\Database\Table\Selection
tu jsem vypsal přes
$this->sendJson()
.
Kupodivu místo abych dostal
{"1":{"id":1,"name":"Jakub"},"2":{"id":2,"name":"Ivan"}}
dostávám
jen „{“1":{},„2“:{}}". Data tam jsou, když si je dumpu, tak
je vidím.
Použití fetchAll()
nemá na výsledek žádný efekt.
Není to nějaký bug? Pamatuji si, že tahle konstrukce dříve fungovala. Dá se to samozřejmě obejít přes ´foreach´ a vytvoření nového pole, ale to mi přijde takové neelegantní.
Nette 2.3.0, PHP Version 5.4.32
- Richard Faila
- Člen | 40
Blujacker napsal(a):
Ahoj, zkusil bych pridal do toho selectionu pridat
->select("*")
Zdravím
V selectu už si vypisuji o které sloupce máme zájem
->select('id,name')
, nemyslím že by to s hvězdičkou
byl lepší.
- Richard Faila
- Člen | 40
David Matějka napsal(a):
zkus
array_map('iterator_to_array', $result->fetchAll())
Díky, tohle samozřejmě fungovat bude (podobně jako konstrukce s foreach), mě jde spíš o to, že před nějakou dobou (nevím verzi, bylo to 2.1 něco) to nebylo potřeba a fungovalo to i bez toho. Nebo že bych už na tom byl s pamětí tak špatně? :D