Как сделать несколько like or в pdoTools?
Появилась необходимость сделать запрос типа того:
$where[«Data.color:LIKE»] = '%red%';
$where[«OR:Data.color:LIKE»] = '%green%';
$where[«OR:Data.color:LIKE»] = '%blue%';
$where[«OR:Data.color:LIKE»] = '%orange%';
Т.к. индекс у массива один — то затираются…
Весь этот запрос отправляется в что-то типа того:
Сложность в том, что $where содержит еще кучу всего, поэтому все в JSON сразу писать сложновато выйдет…
Заранее благодарю за помощь!
$where[«Data.color:LIKE»] = '%red%';
$where[«OR:Data.color:LIKE»] = '%green%';
$where[«OR:Data.color:LIKE»] = '%blue%';
$where[«OR:Data.color:LIKE»] = '%orange%';
Т.к. индекс у массива один — то затираются…
Весь этот запрос отправляется в что-то типа того:
$idsFiltered = $this->modx->runSnippet('msProducts',array(
'returnIds' => '1'
,'limit' => '0'
,'where' => $this->modx->toJSON($where)
,'return' => 'sql'
,'fastMode' => true
));Как еще можно оформить подобное условие, кроме как в одномерном массиве?Сложность в том, что $where содержит еще кучу всего, поэтому все в JSON сразу писать сложновато выйдет…
Заранее благодарю за помощь!
Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Придется пока preg_replace делать и повторно чистый скуль отправлять…
Скобок не хватает в смысле, что у меня идут много условий в WHERE AND AND а здесь надо добавить AND ( OR OR OR)
То есть мне надо совместить и старый массив условий и новое условие plain text…
Так нельзя сделать?
Можно первый массив тоже вручную обойти и сделать строку, но это как-то не очень…
Просто $where[] = 'строка';?