Array yang Anda coba lewati adalah array multi dimensi. Sebagai gantinya coba ini:
$ids = array();
foreach ($query->result_array() as $id)
{
$ids[] = $id['id'];
}
$this->db->where_in('id', $ids);
Anda tidak dapat meratakan query->result_array() tanpa iterasi. Tetapi jika Anda perlu banyak menangani kueri semacam ini di aplikasi Anda, dan jika Anda telah menginstal>=PHP 5.3, Anda dapat meletakkan fungsi berikut dalam file pembantu Codeigniter (atau di tempat lain yang sesuai) untuk membantu Anda meratakan array:
function flatten(array $array) {
$return = array();
array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
return $return;
}
Dan dalam kasus Anda gunakan seperti ini:
$ids = flatten($query->result_array());
$this->db->where_in('id', $ids);