Uložení textu do proměnné pro další práci v presenteru

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

Ahoj,
nedaří se mě do proměnné v presenteru uložit text z pouze jednoho sloupce abych s ním nadále mohl pracovat, Vždy mě to vrací objekt. Mám to takto:

  public function renderDefault() {
        $text = $this->hpRepository->getMainText();
        ... //dalsi prace s textem

    }

//model
 public function getMainText() {
        return $this->getTable()->select('text')->where('key', 'main')->fetch();
    }
Šaman
Člen | 2666
+
0
-

Ono to vrací objekt, který se chová jako pole dat. Takže by mělo fungovat

<?php
$row = $this->hpRepository->getMainText();
$text = $row->text;
?>

Běžná praxe je taková, že si v dotazu nenačítáš konkrétní sloupec, ale celý řádek a pak si ve výsledku přistupuješ ke sloupci, který potřebuješ. Vyhledávací metody se velmi často pojmenovávají findBar(), nebo findByFoo(). Takže by se ta metoda u mě jmenovala asi jen findMain().

Editoval Šaman (25. 4. 2014 10:15)

Jan Suchánek
Člen | 404
+
0
-

@.:M@rt!n:.: a nelze?

	public function getMainText() {
		if($row = $this->getTable()->select('text')->where('key', 'main')->fetch()){
			return $row->main;
		}

	}
.:M@rt!n:.
Člen | 201
+
0
-

Šaman napsal(a):

Ono to vrací objekt, který se chová jako pole dat. Takže by mělo fungovat

<?php
$row = $this->hpRepository->getMainText();
$text = $row->text;
?>

Běžná praxe je taková, že si v dotazu nenačítáš konkrétní sloupec, ale celý řádek a pak si ve výsledku přistupuješ ke sloupci, který potřebuješ. Vyhledávací metody se velmi často pojmenovávají findBar(), nebo findByFoo(). Takže by se ta metoda u mě jmenovala asi jen findMain().

Díky funguje