#1 21. 2. 2010 19:37

22
dibi guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 237

Typ proměnných po SELECT

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ě?

Offline

 

#2 23. 2. 2010 3:59

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 4249
Web

Re: Typ proměnných po SELECT

Tuším pomůže $data->detectTypes()

Offline

 

#3 23. 2. 2010 10:16

22
dibi guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 237

Re: Typ proměnných po SELECT

$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)

Offline

 

#4 23. 2. 2010 16:16

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 4249
Web

Re: Typ proměnných po SELECT

Musíš dumpovat nikoliv objekt $data, ale to, co ti metoda fetchPairs() vrátí.

Offline

 

#5 23. 2. 2010 22:16

22
dibi guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 237

Re: Typ proměnných po SELECT

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)

Offline

 

Zápatí