tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

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

feature request: fetchColumn

před 10 lety

Honza M.
Člen | 1674

Nešlo by zařídit takovou funkci na vytáhnutí dat sloupce z DibiResultu?

Př. chci zjistit id článků, který se něčim vyznačujou:

$ids = $db->select("id")->from("clanky")->where("vyznacuje_se = %s", "necim")->fetchColumn();

// výsledek array(5, 8, 9, 34, 45)

Pak jim můžu třeba chtít smazat přílohy z disku nebo tak.

před 10 lety

phx
Člen | 652

To by se mi take libilo.

Jedine co na to lze pouit je fetchPair(id, id), ale vysledne pole neni idelani.

$ids = $db->select("id")->from("clanky")->where("vyznacuje_se = %s", "necim")->fetchPair('id', 'id')

// vysledek
// array(
//  5 => 5,
//  8 =>8,
//  9 => 9,
//  34 =>34,
//  45 => 45
// );

před 10 lety

LastHunter
Člen | 1539

A co to dostat přímo z databáze pomocí GROUP BY a GROUP_CONCAT? Dám GROUP BY právě podle toho sloupce, který po aplikování WHERE už bude u všech stejný a ty různé hodnoty sloupce (který bych strčil do fetchColumn) si vytáhnu pomocí GROUP_CONCAT. Pak to proženu funkcí explode() z PHP a už mám pole :)

Podobným způsobem jsem si vytáhnul „děti“ všech komentářů v tabulce, které jsou provázané přes parent_id, takže vím, že to jde :)

před 10 lety

David Grudl
Nette Core | 6806
$ids = $db->select("id")->from("clanky")->where("vyznacuje_se = %s", "necim")->fetchPairs();