Codeigniter:从数组中追加的值

public function func1()
{
    $this->func();
    $result1 = $this->result;

    foreach ($result1 as $row) {
        $this->load->model('test_model');
        $this->db->select('name');
        $this->db->from('place');

        $string = '';

        $string = $row[state_name];

        $this->db->where('state'=,"$string");
        $query = $this->db->get();

        return $query->result_array();
    }

}

where $this->func(); is getting an array containing an array of strings of names and I am using each value as condition in where clause in func1(select). I'm using A foreach loop to get each string from resultset of func and later on I'm trying to select a name matched from where clause in func1 but I am getting below error

A Database Error Occurred
    Error Number: 1064
    SELECT `name` FROM (`place`) WHERE `state=` 'place1,place2, place3,place4';

all the values from foreach is getting appended to the same query , where in my case each iteration should have fetched only one value and executed the SELECT query and returned the result.

Could you try this:

public function func1()
{
    $this->func();
    $result1 = $this->result;

    $data = null; $i=0;
    foreach ($result1 as $row) {
        $this->load->model('test_model');
        $this->db->select('name');
        $this->db->from('place');

        $string = '';

        $string = $row['state_name'];

        $this->db->where('state'=,"$string");
        $query = $this->db->get();

        $query->result_array();
        $data[$i] = $query->result_array;
    }
  return $data;

}