Problém s like vyhledáváním
- Donkeykong
- Člen | 39
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
ř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
Máš pravdu. Metodu renderDefault jsem přepsal na actionDefault a funguje. Díky :)