Regulární výraz ve where metodě

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

Chtěl bych vybírat z databáze podle regulárního výrazu který zadá uživatel do formuláře. Ale bohužel to nedokážu přepsat do dibi syntaxe.

SQL by mělo vypadata takhle:

SELECT * FROM spisy WHERE nazev REGEX 'studio'

Napadla mě jediná možnost:

$this->spisy->findAll()->order("nazev ASC")->where(array("nazev" => "REGEX 'studio'"));

To bohužel nefunguje, protože to hledá celej ten řetězec a ne jen studio. Nevíte někdo jak to sestavit?

David Matějka
Moderator | 6445
+
0
-

urcite mas na mysli dibi? nemyslis nette\database?
pokud nette\database, tak zapis bude nejak takto $selection->where('nazev REGEXP ?', 'lorem ipsum')

pokud mas na mysli opravdu dibi, tak ti neporadim :)

ViPEr*CZ*
Člen | 817
+
0
-

Já jsem hlavně nepochopil co takový regulár má dělat?
Pokud hledáte dibi problematiku, tak bych spíš zkusil přímo forum pro dibi. Pokud Nette\Database, tak bych to napsal do příslušné sekce. ;-)

enumag
Člen | 2118
+
0
-

Mám pocit, že by ti na tohle měl stačit operátor LIKE.

Nich
Člen | 49
+
0
-

jojo myslel sem nette\database, udělal sem to podle matej21 a funguje to přesně jak potřebuji díky všem