Kdyby\Doctrine select bez ohledu na diakritiku

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

Ahoj,

opet svádím souboj s Doctrine a potrebuju zabidovat vyhledavani bez ohledu na diakritiku. Doctrine do dotazu cpe klasicky

WHERE column LIKE %value%

Jakým zpusobem ho lze dokopat aby tam nacpal

WHERE column COLLATE utf8_general_ci LIKE %value%

??

Zkousel jsem to prostrednictvim query builderu, kdy jsem se pokusil o neco takoveto

$qb->where('user.lastname COLLATE utf8_general_ci LIKE :val',$value);

to vygeneruje DQL, ktere tak nejak vypada pouzitelne

SELECT client, user
FROM Generated\Client client
INNER JOIN client.acquirer user
WHERE user.lastname COLLATE utf8_general_ci LIKE :val

nic mene skonci

Doctrine\ORM\Query\QueryException

[Syntax Error] line 0, col 101: Error: Expected =, <, <=, <>, >, >=, !=, got 'COLLATE'

Prosim, jak dosilit COLLATE aby ve filtrech slo vyhledavat bez diakritiky?

Diky za pomoc.

nyccoss
Člen | 18
+
0
-

Jo jo, na tohle jsem pred chvili taky narazil… jak ale zaregistrovat „custom DQL function“ v kombinaci s kdyby a nette?

http://www.doctrine-project.org/…ql-udfs.html

enumag
Člen | 2118
+
0
-
doctrine:
	dql:
		numeric:
			COLLATE: MyCompany\MyBundle\DQL\CollateFunction

Tím numeric si nejsem úplně jistý ale ostatní dvě možnosti mi nedávají smysl.

Editoval enumag (27. 2. 2015 12:14)