如何从CodeIgniter查询生成器的like子句中删除%字符?

时间:2019-01-09 17:41:28

标签: php codeigniter-3 codeigniter-query-builder

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

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

 btnReport.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String mailto = "mailto:useremail@gmail.com" +
                    "?cc=" +
                    "&subject=" + Uri.encode("your subject") +
                    "&body=" + Uri.encode("your mail body");
            Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
            emailIntent.setData(Uri.parse(mailto));

            try {
                startActivity(emailIntent);
            } catch (ActivityNotFoundException e) {
                Toast.makeText(context, "Error to open email app", Toast.LENGTH_SHORT).show();
            }
        }
    });

我要面对的问题是,假设 row_1 包含以下针对我的目标列的数据: 1、3、17 ,现在如果我通过了 $ country_id = 7 ,它会提取 row_1 ,尽管 row_1 并不直接有7(但有17)...

我知道问题是由于 CodeIgniter 将我的查询转换为%7%而引起的。

所以我的问题是:在 CodeIgniter 中的search_creteria之前和之后,有什么办法可以省略%字符吗?

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

$post = [
    'file' => curl_file_create('file_name.json')
];

确切地说(当前正在做什么):

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

0 个答案:

没有答案