Problém s like vyhledáváním

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

Ahoj,

pokouším se vyhledávat v databází pomocí LIKE, bohužel se nedaří. V presenteru takto zpracovávám kliknutí na tlačítko search u formuláře:

<?php
public function searchFormSubmitted(Form $form)
	{
		$values = $form->getValues();
		$this->template->articles = $this->articleRepository->findAll()
->where('title LIKE ?', $values->input. '%');




	}
?>

Ale když dám vyhledat vrací mi to opět všechny články a hledaný výraz se v tom vůbec jakoby nepromítně. Přitom var_dump ukazuje normálně řetězec, který zadám, čili u zpracování formuláře, by vše mělo být ok. Co dělám špatně? Díky

Editoval Donkeykong (6. 7. 2013 21:09)

kashpi
Člen | 48
+
0
-

řekl bych, že problém je asi ve zpracování požadavku. Po odeslání formuláře ti to asi vyhledá podle LIKE, ale před vykreslením stránky se ti znovu spustí „render“ té stránky a ten přepíše

<?php
$this->template->articles
?>

zase původní hodnotou. Zkus to přehodit třeba do „action“, pak myslím reakce formuláže bude až potom

Donkeykong
Člen | 39
+
0
-

Máš pravdu. Metodu renderDefault jsem přepsal na actionDefault a funguje. Díky :)