Oznámení
Omlouváme se, provoz fóra byl ukončen
fetchAssoc() vrací vždy jako list DibiRow nebo pole?
Upozornění: Tohle vlákno je hodně staré.
před 10 lety
- paranoiq
- Člen | 388
ahoj, dá se nějak zařídit, aby fetchAssoc() vracela jako list struktury jedinný sloupec namísto celého řádku?
např. tohle vrátí jako list celý řádek formou DibiRow
$res = dibi::query("SELECT `group`, `code`, `description` FROM `some_table`;");
debug::dump($res->fetchAssoc('group,code,description'));
potřebuji např. takový výstup:
array(
'group1' => array(
'code1' => 'descr1',
'code2' => 'descr2',
),
'group2' => array(
'code3' => 'descr3',
),
)
před 10 lety
- paranoiq
- Člen | 388
díky Davidovu vysvětlení si můžu odpovědět sám :)
v nové verzi dibi byl předělán formát associative descriptoru.
sloupce se nové oddělují svislítkem |
, pokud má být
výsledná struktura asociativní pole, nebo šipkou ->
, pokud
má být výstup objekt. pokud má být listem pouze jedinný sloupec, stačí
před jeho jméno napsat rovnítko =
to co jsem chtěl se tedy dá docílit takto:
$res->fetchAssoc('group|code=description');`
nová syntax je EXPERIMENTÁLNÍ a stará je stále podporována
Editoval paranoiq (2. 11. 2009 10:41)