在我的一个基于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%'
- 谢谢