В настоящее время я работаю над проектом Codeigniter 3, который имеет значения поиска в реальном времени с использованием таблиц данных, проект был на MySQL и все работало нормально, и его нужно перенести на PostgreSQL, и теперь поиск не работает, потому что это необходимо чтобы добавить явное приведение типов в столбец ID, это ошибка: ОШИБКА: оператор не существует: целое число ~~ текст.
Я понял, как это сделать, добавив :: varchar после имени столбца de, и я протестировал его, введя запрос непосредственно в PHPpgadmin, и он работает, но я не могу найти, как именно я могу это сделать это в коде CI
Это код
$datatable->db_search(array(
"consultas.nombre",
"usuarios.username",
"u2.username",
"consultas.guest_email",
"consultas.last_reply_string",
"consultas.ID",
)
);
Функция db_search
public function db_search($columns)
{
if(!empty($this->search)) {
if($this->search_type == 0) {
// Search all columns for likeness
$words = explode(" ", $this->search);
$this->CI->db->group_start();
foreach($words as $word) {
foreach($columns as $field) {
$this->CI->db->or_like($field, $word);
}
}
$this->CI->db->group_end();
} elseif($this->search_type == 1) {
// Search all colums for likeness for whole string
$this->CI->db->group_start();
foreach($columns as $field) {
$this->CI->db->or_like($field, $this->search);
}
$this->CI->db->group_end();
} else {
// Search for each individual column.
// First 2 indexes are reserved for above
if(isset($columns[$this->search_type-2])) {
$this->CI->db->group_start();
$this->CI->db->or_like($columns[$this->search_type-2], $this->search);
$this->CI->db->group_end();
}
}
}
}
Уже пробовал:
"consultas.ID::varchar"
"'consultas.ID', '1011%'"