Vrácení hodnot ze sloupce jako pole

Webster.K
Člen | 211
+
0
-

Zdravím všechny, řeším takovou jobovku na kterou vůbec nevím, jak si s ní poradit. Existuje nějaký jednoduchý způsob na db jak vrátit pole?

něco co nalepím za tento dotaz $data = $this->database->table(‚tabulka‘)->select(‚prvni_sloupec‘);

To o co mi jde, mám tabulku ve formátu:

prvni_sloupec|druhy_sloupec|treti_sloupec
1|2|3
4|5|6
7|8|9

A ja bych potřeboval, aby hodnota dat podle dotazu nabyla jen hodnot třeba z prvního sloupce – [1,4,7] – jak toho docílit? Vždycky buď 1 ⇒ array(prvni_sloupec=>1), 2⇒ array(prvni_sloupec=>4) a podobně, nebo to hodí error protože to co jsem vymyslel je kravina, ale nic, co by mi vrátilo vyloženě pěkně pole. Jde mi o to, abych nemusel udělat další zbytečný foreach cyklus ve kterém až teprve to získám.

Webster.K
Člen | 211
+
0
-

Odpověď od ChatGPT která opravdu funguje a udělá přesně to co jsem potřeboval:

V Nette Database lze použít metodu fetchPairs, která umožní rovnou získat hodnoty z jednoho sloupce do pole bez nutnosti dalšího cyklu. K dosažení toho, co popisujete, byste mohl použít tento postup:

$data = $this->database->table('tabulka')->select('prvni_sloupec')->fetchPairs(null, 'prvni_sloupec');

Použitím fetchPairs(null, ‚prvni_sloupec‘) dosáhnete toho, že se vám vrátí pouze hodnoty z prvního sloupce jako jednorozměrné pole:

// Výstup:
$data = [1, 4, 7];

null jako první parametr v fetchPairs říká, že nechcete použít klíče z databáze, ale automaticky generované.
Druhý parametr ‚prvni_sloupec‘ určuje, že chcete pouze hodnoty z tohoto sloupce.

Editoval Webster.K (27. 10. 16:22)