tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Výber stlpcov namiesto riadkov

před 9 lety

Cifro
Člen | 245

Dosť dlho som sa snažil prinutiť metódu fetchAssoc() aby mi vytvorila z takejto tabuľky:

---------------
| uid1 | uid2 |
---------------
|  1   |  6   |
|  1   |  2   |
|  4   |  1   |
---------------

takéto pole:

Array
(
    [uid1] => Array
        (
            [0] => 1
            [1] => 1
            [2] => 4
        )
    [uid2] => Array
        (
            [0] => 6
            [1] => 2
            [2] => 1
        )
)

ale nepodarilo sa mi :( Ako by sa dalo vybrať do poľa celý stlpec hodnôt pod index, ktorý predstavuje názov stlpca? Ono to pripomína stlpcovo orientované databázy, či ako sa to presne volá, ale toto je v obyčajnom MySQL.

před 9 lety

David Grudl
Nette Core | 6806

Tohle pomocí fetchAssoc nepůjde, takže leda přeskládat „ručně“. Dalo by se na to použít array_merge_recursive, tam je akorát problém, že jako parametry potřebuje pole a nikoliv DibiRow. Pole se dají v tuto chvíli získat asi jen trikem via fetchAssoc('#,=').

Takže

$data = call_user_func_array('array_merge_recursive', $res->fetchAssoc('#,='));