Вы можете использовать where_in
, но вы не можете использовать его с get_where
, вам нужно использовать альтернативу здесь вместо get_where
:
Пример:
Здесь вы можете чередоваться как:
$this->db->select('name');
$this->db->from('genre');
if(is_array($row['genre_id'])){ // if result is in array
$this->db->where_in('genre_id',$row['genre_id']);
}
else{ // for single record.
$this->db->where('genre_id',$row['genre_id']);
}
$query = $this->db->get();
print_r($query->result_array()); // will generate result in an array
Редактировать:
После отладки вы получаете это значение ["2","5","20"]
в виде строки, так что вы можетеизменить этот код:
$genreID = intval($row['genre_id']); //
if($genreID > 0){
$this->db->where('genre_id',$row['genre_id']);
}
else{
$genreID = json_decode($row['genre_id'],true);
$this->db->where_in('genre_id',$genreID);
}
CI Query Builder