Tablica, którą próbujesz przekazać, jest tablicą wielowymiarową. Zamiast tego spróbuj tego:
$ids = array(); foreach ($query->result_array() as $id) { $ids[] = $id['id']; } $this->db->where_in('id', $ids);
Nie możesz spłaszczyć zapytania->tablica_wyników() bez iteracji. Ale jeśli potrzebujesz obsłużyć tego rodzaju zapytania w swojej aplikacji i jeśli masz zainstalowane>=PHP 5.3, możesz umieścić następującą funkcję w pliku pomocniczym Codeigniter (lub w innym odpowiednim miejscu), aby pomóc Ci spłaszczać tablice:
function flatten(array $array) { $return = array(); array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; }); return $return; }
A w twoim przypadku użyj go tak:
$ids = flatten($query->result_array()); $this->db->where_in('id', $ids);