REGEXP достаточно легко работает с классом построителя запросовwhere(), но использование границ слов нарушает его, добавляя дополнительные пробелы.
Код: Выделить всё
function search($searchQuery){
$sq = '[[::]]';
$this->db->select('column');
$this->db->from('table');
$this->db->where('LOWER(otherColumn) REGEXP', $sq);
echo $this->db->get_compiled_select();
}
search('billy');
SELECT столбец FROM table WHERE LOWER(otherColumn) REGEXP
'[[::]]';
Фактический результат:
ВЫБРАТЬ столбец FROM table WHERE LOWER(otherColumn) REGEXP
[[: < :]]billy[[:>:]]';
Это такая специфическая проблема с конкретным стеком, и я не нашел никого, кто сталкивался бы с такой же проблемой. Я пробовал экранировать двоеточия,
Подробнее здесь: https://stackoverflow.com/questions/432 ... ds-extra-s
Мобильная версия