Столбец Mysql Codeigniter с разделенными запятыми значениями
Я wnat, чтобы проверить поле с несколькими значениями против одного значения, мой SQL похож .
WHERE id (1);
значения базы данных как
id
---
1,2
2,3
1,3,4
codeigniter
$this->db->select('*');
$this->db->from('content');
$this->db->where('name', $name);
$this->db->where('id', $id);
пробовал
$this->db->where_in('id', explode(',', $id));
но это не работает.Пожалуйста, помогите мне решить эту проблему.
3 ответов
что делать, если вы используете like()
вместо where()
$this->db->like('id', $id);
// Produces: WHERE `id` LIKE '%2%' ESCAPE '!'
Примечание: если 2-это значение
2
,22
,222
пройдет через этот
чтобы найти значения из заданного набора, вы можете использовать FIND_IN_SET
$this->db->where("FIND_IN_SET(".$id.",id) >", 0);
Примечание: этот тип дизайна считается плохим дизайном, и вы должны нормализовать свою структуру, я предлагаю вам взглянуть на Нормализация Базы Данных
пожалуйста, попробуйте этот:
$this->db->select('*')->from('table_name')
->where("column_name LIKE '%$key_values%'")->get();