Formulář addSelect – naplnění přes dbi

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Prochy
Člen | 91
+
0
-

Zdravim,
mám následující dotaz:

public function getAll()    //získání seznamů všech klientů
        {
                return $this->db->fetchAll('SELECT * FROM klient order by `id`');

        }

A snažim se naplnit sloupci id(value) a jmeno(text) Select ve formuláři, ale stále se mi to nedaří. Dělám to následovně:

$klientSeznam = $this->klienti->getAll()->fetchPairs('id', 'jmeno');
$form = new Form();
$form->addSelect('zdroj', 'Zdroj kontaktu:',$klientSeznam);

Laděnka mi hlásí Call to a member function fetchPairs() on a non-object. Snažim se tu přes dvě hodiny vyřešit, ale stále nevim, co s tím. S OOP teprve začínám.
Za jakoukoliv pomoc bych vám byl vděčný.

Hafran
Člen | 121
+
0
-

No s Dibi nepracuju, ale příjde mi že když výsledky už jednou fetchuješ ve funkci getAll a chceš je fetchovat znovu v presenteru, tak to nebude dobrý. Zkus to rovnou z tý metody fetchovat v párech.

Prochy
Člen | 91
+
0
-

Ano, měl ste pravdu, dík.
Nakonec sem si to teda upravil na:

return $this->db->query('SELECT * FROM klient order by `id`');