#sql #codeigniter #activerecord
#sql #codeigniter #activerecord
Вопрос:
Я пытаюсь написать оператор active record, в котором я смогу получить все строки в базе данных, где первая буква не равна алфавиту.
Это мой запрос активной записи
$this->db->where("employer_name NOT LIKE '[^a-z]%'");
return $this->db->select()->from("v_employers")->get();
проблема с моим кодом заключается в том, что он получает все в моей базе данных
я только хочу получить строки, в которых первая буква не является алфавитом
пример (123 пенса, $ helloworld,7 уровней)
и так далее
Ответ №1:
Попробуйте это регулярное выражение в предложении where
WHERE `employer_name` REGEXP '^[^a-zA-Z].*$'
Полный запрос:
$this->db->query("SELECT * FROM v_employers WHERE `employer_name` REGEXP '^[^a-zA-Z].*$'");
Комментарии:
1. пробовал оба, и он по-прежнему показывает буквы алфавита, правильно ли я это написал? $this->db->where(«имя_пользователя НЕ ПОХОЖЕ НА ‘^[a-zA-Z].*$'»); возвращает $this->db-> select()->from(«v_employers»)->get();
2. @itsover9000 попробуйте этот синтаксис