我想测试一个具有针对单个值的多个值的字段,我的SQL就像。
WHERE id (1);

数据库值类似于
id
---
1,2
2,3
1,3,4

笨
$this->db->select('*');
$this->db->from('content');
$this->db->where('name', $name);
$this->db->where('id', $id);

我试过
$this->db->where_in('id', explode(',', $id));

但它不起作用。请帮我解决这个问题。
答案 0 :(得分:3)
要查找给定集中的值,您可以使用FIND_IN_SET
$this->db->where("FIND_IN_SET(".$id.",id) >", 0);
注意:这种类型的设计被认为是一种糟糕的设计,你应该规范化你的结构,我建议你看一下Database Normalization
答案 1 :(得分:2)
如果您使用like()
代替where()
$this->db->like('id', $id);
// Produces: WHERE `id` LIKE '%2%' ESCAPE '!'
注意:如果2为值
2
,则22
,222
将通过此
答案 2 :(得分:0)
请尝试这个:
$this->db->select('*')->from('table_name')
->where("column_name LIKE '%$key_values%'")->get();