为什么在codeigniter中会发生这种情况?

时间:2018-07-11 05:27:49

标签: php mysql sql codeigniter

$query1 = $this->db
    ->select('skill_description.description, count(staff_info.staffId) as experienced')
    ->from('skill_rating')
    ->join('staff_info','staff_info.staffId = skill_rating.staffId')
    ->join('skill_description','skill_rating.descriptionId = skill_description.descriptionId')
    ->where ('skill_rating.rating','2')
    ->group_by("skill_description.description")                       
    ->order_by("skill_description.description asc")
    ->get();

使用此功能时,我会得到理想的结果。但是,一旦添加

->where_in ('skill_description.description',$array)

它会生成一个不应包含的空数组。它应该返回我认为相同的结果。而且,如果我对同一查询使用纯sql样式,则可以使用。 $ array包含所有描述。 我该怎么办?

1 个答案:

答案 0 :(得分:-1)

如果描述具有字符串或文本数据类型,则应使用LIKE。

 $q = $this->db->select('*')
    ->from('table')
    ->where("(col LIKE '%".$search_string1."%' OR col LIKE '%".$search_string2."%' OR col LIKE '%".$search_string3."%' OR col LIKE '%".$search_string4."%')", NULL, FALSE)
    ->get()->results;