具有多个LIKE参数的Codeigniter数据库查询

时间:2015-07-09 14:19:48

标签: sql codeigniter

如何使用多个LIKE参数执行查询?

例如,我有这个字符串来搜索:

"I like searching very much"

这是我目前使用的代码:

$searTerm = "like"
$this->db->or_like('list.description', $SearchTerm,'both'); 

但我想用2或3个参数进行搜索。像这样:

$searTerm = "like"
$searTerm1 = "much"

我如何执行此操作才能获得相同的结果?

3 个答案:

答案 0 :(得分:3)

您只需重复活动记录上的like参数即可。在你的例子中,你会做这样的事情:

$this->db->or_like('list.description', $searchTerm1);
$this->db->or_like('list.description', $searchTerm2);
$this->db->or_like('list.description', $searchTerm3);
...

这只会在每个or_like加入AND条款中的WHERE

答案 1 :(得分:0)

首先,您需要使用类似的变量定义数组,将or_like语句置于where子句之上以制作多个“OR”非常重要。 like' AND'的陈述where子句。

以下是示例:

$this->db->or_like(array('column_name1' => $k, 'column_name2' => $k))
$this->db->where($whereColumn, $whereValue)

答案 2 :(得分:0)

您可以使用like组

            $this->db->group_start()->like('column_name1', $value)
            ->or_group_start()
            ->like('column_name2', $value)
            ->group_end()
            ->group_end();