如何使用多个LIKE参数执行查询?
例如,我有这个字符串来搜索:
"I like searching very much"
这是我目前使用的代码:
$searTerm = "like"
$this->db->or_like('list.description', $SearchTerm,'both');
但我想用2或3个参数进行搜索。像这样:
$searTerm = "like"
$searTerm1 = "much"
我如何执行此操作才能获得相同的结果?
答案 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();