Oznámení
Typ proměnných po SELECT
před 9 lety
- 22
- Člen | 1484
zdravím, mám dotaz jak dibi pracuje s typem proměnných?
Mám například:
$data = dibi::query('SELECT * FROM [table]')
kde jsou sloupce id,nazev,cena
ale:
Debug::dump($data)
mi vypíše všechno jako typ string. Dělám něco blbě?
před 9 lety
- David Grudl
- Nette Core | 6806
Tuším pomůže $data->detectTypes()
před 9 lety
- 22
- Člen | 1484
$data = dibi::query('SELECT * FROM [products]')->fetchPairs();
$data->detectTypes();
Debug::dump($data);
Způsobí chybu: Call to a member function detectTypes() on a non-object
$data = dibi::query('SELECT * FROM [products]');
$data->detectTypes();
$data->fetchPairs();
Debug::dump($data);
Proběhne sice bez chyby, ale Debug::dump($data) vypisuje celý objekt. Typy proměnných nejsou detekovány podle mě. Přitom, pokud si vytvořím pole:
$data = array('první',2,'třetí');
Debug::dump($data);
..Debug vypíše správné typy.
Editoval 22 (23. 2. 2010 10:21)
před 9 lety
- David Grudl
- Nette Core | 6806
Musíš dumpovat nikoliv objekt $data, ale to, co ti metoda fetchPairs() vrátí.
před 9 lety
- 22
- Člen | 1484
Fajn, tak už jsem to přivedl k životu:
$res = dibi::query('SELECT [schvaleno] FROM [user] WHERE [id]=%i',$id);
$res->detectTypes();
$res = $res->fetchPairs();
Debug::dump($res);
edit: Jen by mě zajímalo, proč se to nenatypuje automaticky už v objektu po dibi::query?
Editoval 22 (23. 2. 2010 22:50)