Špatně se předává parametr z formuláře do dotazu s LIKE

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

Zdravím, už nějakou hodinu přemýšlím, kde je chyba a jak to spravit. Bohužel sem ale na nic nepřišel a tak jsem se chtěl zeptat zde. Mám v presenteru jednoduchou vyhledávací továrnu:

    protected function createComponentSearch() {
        $form = new UI\Form;
        $form->addText('search')
                ->addRule($form::FILLED);
        $form->addButton('btnSearch', 'Hledat');
        $form->onSuccess[] = callback($this, 'searchSubmitted');
        return $form;
    }

    public function searchSubmitted(UI\Form $form) {
        $values = $form->getValues();
        $text = $values->search;
        $text = $text.'%';
        $_SESSION["search"] = $this->mainProduct->searchProduct($text);
    }

Když ale pak chci hodnotu přenést do modelu, nic mi to nenajde. Když ji do dotazu vložím natvrdo tak to jde. Nevíte někdo kde mám chybu?

Model:

    public function searchProduct($text) {
        return $this->connection->query(
                        'SELECT * FROM product, image
                        WHERE product.prod_id = image.product_prod_id
                        AND prod_describe LIKE ?
                        GROUP BY prod_id
                        ', $text)->fetchAll();
    }
Draffix
Člen | 146
+
0
-

Tak už jsem na to přišel, až se stydím to napsat. Chyba byla pouze v tom, že to vyhledávalo pouze začáteční písmena a nic co bylo předtím. Stačilo tedy dopsat

$text = '%'.$text.'%';

A hotovo. Omlouvám se za případný offtopic.