jak číst hodnotu jednoho sloupce z databáze

adferg
Člen | 31
+
0
-

Ahoj, zasekl jsem se na tomhle problému. Myslím, že to je trivální, ale po 8 hodinách zkoušení všeho na všechno už pokorně žádám o pomoc.

mám tabulku

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
id_____volba1______volba2______volba3______spravna volba
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1_____zelena_______modra________zluta__________3
2_____jablko_______hruska_______svestka_________2
3_____merkur______venuse_______zeme___________3

V modelu chci mít funkci, která vrátí správnou volbu podle id.

public function getChoice ($id) {
	return ???
}

v prezenteru

this->template->choice = $this->model->getChoice(2);

a do sablony si poslu
Zvolil jsi spravne, je to hruska

Moc děkuju za nápovědu.

Niro
Člen | 6
+
0
-

Ahoj,
https://doc.nette.org/…ase/explorer
Do modelu si přidáš přes DI explorer.

public function getChoice ($id): int
{
    $choice = $this->explorer->table('tabulka')->select('spravna_volba')->get($id);
	return (int) $choice->spravna_volba;
}

adferg
Člen | 31
+
0
-

Ahoj, jasně, mě šlo ale o to, jak získat text volby, takže něco jako „U otázky dvě je správná volba hruška“.

Kamil Valenta
Člen | 822
+
+1
-
$choice = $this->explorer->table('tabulka')->get($id);
return $choice->{'volba'.(int)$choice->spravna_volba};
Kamil Valenta
Člen | 822
+
+2
-

Ačkoliv já bych nechal volby v tabulce s referencí na „téma“ či „otázku“ a v samostatném sloupci bych si jen značil, zda je to správná volba či nikoliv. Nebudeš limitován 3 volbami a selectovat se to bude snadněji…

adferg
Člen | 31
+
0
-

Perfektní, funguje. Díky!