DB core selection a json-send
- fikusir
- Člen | 27
Ahoj,
pro ajax jsem si vytvořil malinké API, které vrací json.
Pokud použiji Database Core, tak vše funguje. Pokud Database Explorer (zakomentovaný řádek v metodě getAll), tak nikoliv.
Současný kód Model
public function getAll()
{
return $this->database->fetchAll('SELECT * from RVBarevky');
// return $this->database->table('RVBarevky');
}
Současný kód Presenter ($data[‚data‘] je tam schválně, v JSON se to tím data musí celé obalit)
public function actionGetAll(){
$data['data']=$this->barevkyManager->getAll();
$this->sendJson($data);
}
Neptal bych se, ale 4 hodiny na tomto problému mi přijde dost. Zkoušel jsem všelijaké varianty, ale nic nezabralo, resp. v jednom případě mi json alespoň vracel první sloupec DB (celkem má 2).
Moc díky za odpověd k banálnímu případu
- Mistrfilda
- Člen | 76
Ahoj,
problem je ten, ze
return $this->database->table('RVBarevky');
vraci instanci
tridy selection https://api.nette.org/…lection.html –
nad touto tridou pak musis jeste zavolat dalsi metody pro vytazeni dat, napr. ve
tvem pripade metodu fetchAll()
Vysledek by mel byt
takto: return $this->database->table('RVBarevky')->fetchAll();
- fikusir
- Člen | 27
To byla jedna z věcí, které jsem zkusil jako první, nicméně k výsledku nevedla :( jako bonus mi v tomto případě dle Tracy aplikace spustila 15 různých SQL dotazů napříč celou databází (MSSQL).
No u SELECT asi zůstanu u DB Core a DB Explorer použiji pro UPDATE a INSERT – tam to funguje parádně.