\Nette\Database where podmienka s LIKE %xy%

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

Zdravím,

chcem dostať do podmienky where v \Nette\Database nasledovné `

(company.confirmed = 1) AND ((company.name LIKE '%rma%') OR (company.name LIKE '%test%')))

spraví mi však z toho toto

WHERE ((`company`.`confirmed` = 1) AND ((`company`.`name` LIKE '%`rma`%') OR (`company`.`name` LIKE
'%`test`%')))

čo je zle, chcel by som aby obsah medzi %% bol bez spatnych uvodzoviek. Da sa to nejako dosiahnut?

Dakujem!

Editoval RichardT (26. 10. 2012 21:50)

RichardT
Člen | 43
+
0
-

Prišiel som na riešenie :)

$condition = array(
	"(company.confirmed = ?) AND ((company.name LIKE ?) OR (company.name LIKE ?))",
	"1",
	"%rma%",
	"%test%",
);

call_user_func_array(array($fluentQuery, 'where'), $condition);

Editoval RichardT (26. 10. 2012 21:49)

nanuqcz
Člen | 822
+
0
-

RichardT napsal(a):

call_user_func_array(array($fluentQuery, ‚where‘), $condition);
\--

Tohle by bylo hezčí, ne? :-)

$fluentQuery->where($condition);