0

在我的一个基于CodeIgniter的应用程序中,我将国家数据作为逗号分隔值存储在列中[可以从前端传递多个国家,而是使用另一个表作为映射(使用 foreign_key)我使用一个表]。

为了在搜索页面中获取结果,我编写了以下查询:

$this->db->like('country', $country_id);

我面临的问题是,假设row_1包含我的目标列的以下数据:1,3,17现在如果我通过$country_id = 7,它会获取row_1,尽管row_1没有直接有 7(但有 17)。 ..

我知道问题发生在CodeIgniter将我的查询转换为%7%时。

所以我的问题是:有没有办法在CodeIgniter的 search_creteria 之前和之后省略 % 字符?

我的意思是,CodeIgniter会将我的查询转换为:

SELECT * FROM table_name WHERE country LIKE '7'

而是(目前正在做什么):

SELECT * FROM table_name WHERE country LIKE '%7%'
  • 谢谢
4

0 回答 0