Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před 2 lety

paranoiq
dibi guru
Registrovaný: 14. 11. 2006
Příspěvky: 357

fetchAssoc() vrací vždy jako list DibiRow nebo pole?

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',
    ),
)

 

#2 před 2 lety

paranoiq
dibi guru
Registrovaný: 14. 11. 2006
Příspěvky: 357

Re: fetchAssoc() vrací vždy jako list DibiRow nebo pole?

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)

 

Zápatí