quickstart task presenter find

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

Ahoj,
snažím sa podľa návodu v dokumentácií spraviť Todo apliáciu. Zasekol som sa v sekcií presentery a šablony. Problém je, že v TaskPresenter je definovaná táto metóda:
`public function actionDefault($id)
{
$this->list = $this->listRepository->find($id);
}`

Keď príde na volanie tejto metódy tak vyhodí chybu: Call to undefined method Todo\ListRepository::find()

Mal niekto podobný problém a vedel by mi pomôcť s riešením? Ďakujem

Draffix
Člen | 146
+
0
-

A máte v repozitáři ListRepository metodu find()?

enumag
Člen | 2118
+
0
-

Nemá, quickstart je v tomto ohledu rozbitý.

iggy
Člen | 3
+
0
-

Nie nemám tam metódu find(). Ale prepokladám, že táto metóda by mala vrátiť objekt typu ActiveRow, čo ak som správne pochopil, by mal byť riadok z tabuľky databázy. Vedel by mi niekto poradiť, ako napísať funkciu s týmito požiadavkymi?

Draffix
Člen | 146
+
0
-

Píšu z hlavy, nevím jak je na tom teďka quickstart

public function find($id) {
    return $this->connection->table('tableName')
        ->where('id = ?', $id)
        ->fetch();
}
enumag
Člen | 2118
+
0
-

Nejjednodušší implementace vzhledem k tomu quickstartu je tahle. Akorát se mi ani trochu nelíbí název té metody.

public function find($id) {
	return $this->getTable()->get($id);
}