【发布时间】:2020-04-28 17:32:33
【问题描述】:
我正在尝试通过具有类别列来过滤数据库,因此我搜索类别并返回正确的项目。然而,有些项目有不止一个类别,所以我使用逗号分隔值将两个或多个类别放在一列中。我试过这个方法:
public function get_cat_article($value)
{
$table = $this->get_table();
$this->db->where('cat', $value);
return $this->db->get($table);
}
但这只会选取第一个分隔值。我尝试使用 'where_in' 但也只获得了第一个值。我试过“喜欢”,效果很好,但不是确定的。搜索“WS”包括其他类别,如“IWS”。我在谷歌上搜索了一个解决方案,并建议使用 fin_in_set,所以我尝试了:
public function get_cat_article($value)
{
$table = $this->get_table();
$this->db->where('find_in_set('.$value.',cat)');
return $this->db->get($table);
}
但这根本不起作用。是我的语法错误还是这是错误的方法?
【问题讨论】:
标签: php codeigniter