Одна строка, которую я тестировал, — это Cal, поэтому запрос должен быть простым, верно?
Код: Выделить всё
SELECT
c.`ID` AS id,
CONCAT(p.`Name`, ' > ', c.`Name`) AS name,
'cal' AS q
FROM `cq_provice` p
JOIN `cq_city` c ON c.`provinceID` = p.`ID`
WHERE (CONCAT(p.`Name`, ' > ', c.`Name`) LIKE '%cal%')
ORDER BY p.`Name`, c.`Name`
LIMIT 0, 50
#1
Код: Выделить всё
$this->db->select('c.ID as id');
$this->db->select('CONCAT(p.Name, \' > \', c.Name) as name');
$this->db->select($term.' as q');
$this->db->from('cq_provice p');
$this->db->join('cq_city c', 'c.provinceID = p.ID');
$this->db->like('CONCAT(p.Name, \' > \', c.Name)', $this->db->escape($this->input->post('search')), 'both');
$this->db->order_by('p.Name', 'ASC');
$this->db->order_by('c.Name', 'ASC');
$this->db->limit($result_count, $offset);
$query = $this->db->get();
Код: Выделить всё
$query = "SELECT c.`ID` as id, CONCAT(p.`Name`, ' > ', c.`Name`) as name, ".$term." as q
FROM `cq_provice` p JOIN `cq_city` c ON c.`provinceID` = p.`ID`
WHERE (CONCAT(p.`Name`, ' > ', c.`Name`) LIKE
'%".$this->db->escape($this->input->post('search'))."%')
ORDER BY p.`Name`, c.`Name` LIMIT ".$offset.", ".$result_count;
Код: Выделить всё
SELECT c.`ID` as id, CONCAT(p.`Name`, ' > ', c.`Name`) as name, 'cal' as q
FROM `cq_provice` p JOIN `cq_city` c ON c.`provinceID` = p.`ID`
WHERE (CONCAT(p.`Name`, ' > ', c.`Name`) LIKE '%'cal'%')
ORDER BY p.`Name`, c.`Name` LIMIT 0, 50
Код: Выделить всё
, ' > ', c.Имя) LIKE '%'cal'%'Код: Выделить всё
SELECT c.`ID` as id, CONCAT(p.`Name`, ' > ', c.`Name`) as name, 'cal' as q
FROM `cq_provice` p JOIN `cq_city` c ON c.`provinceID` = p.`ID`
WHERE (CONCAT(p.`Name`, ' > ', c.`Name`) LIKE 'Êl%')
ORDER BY p.`Name`, c.`Name` LIMIT 0, 50
Подробнее здесь: https://stackoverflow.com/questions/496 ... s-inside-o
Мобильная версия