将数组转换为String Codeigniter 3.0

I am trying to insert an element into my 'category' table and use the inserted element's id to insert another element into my 'subcategory' table.

This is my code in my controller

public function insertCategory(){
    $category = $this->input->post('category');
    $subcategory = $this->input->post('subcategory');

    $this->form_validation->set_rules('category', 'Category', 'required');
    $this->form_validation->set_rules('subcategory', 'Subcategory', 'required');

    if($this->form_validation->run() == FALSE){
        $this->load->view('ADMIN_ADDCategory');
    }
    else{
        $category_id = $this->admin_model->insertCategory($category);
        $this->admin_model->insertSubcategory($category_id, $subcategory);
    }
}

And this is my code in my model

function insertCategory($category){
    $data = array(
        'category' => $category,
        'status' => 1
    );
    $this->db->insert('category', $data);
    $this->db->select('id');
    $this->db->from('category');
    $this->db->where('category', $category);
    $this->db->limit(1);
    $query = $this->db->get();
    return $query->result();
}

function insertSubcategory($category_id, $subcategory){
    $data = array(
        'category_id' => $category_id,
        'subcategory' => $subcategory,
        'status' => 1
    );
    $this->db->insert('subcategory', $data);
}

However I am getting this error

enter image description here

I already tried using $category_id = (array) $this->admin_model->insertCategory($category); but it still doesn't work

How do I overcome this error? Thank you for the help.

$this->admin_model->insertSubcategory($category_id, $subcategory);

$category_id is an array , so , you must do it like this:

$this->admin_model->insertSubcategory($category_id[0]->field, $subcategory);

You should try this

$this->admin_model->insertSubcategory($category_id[0]->id;, $subcategory);

try this code

Model

public function insert($table, $data)
{

  if($this->db->insert($table,array $data))
  {
     return $this->db->insert_id();
  }else
     return false
}

controller

 public function insertCategory(){

   $this->form_validation->set_rules('category', 'Category', 'required');
   $this->form_validation->set_rules('subcategory', 'Subcategory', 'required');

   if($this->form_validation->run() == FALSE){
       $this->load->view('ADMIN_ADDCategory');
 }
   else{

        $category = $this->input->post('category');
        $subcategory = $this->input->post('subcategory');

       //data must be an array
       $data = [
           'category' => $category,
           'status' => '1'
       ];
       $category_id = $this->admin_model->insert('tablename',$data)
       if($category_id != false)
       { 
          $data = [
              'category_id' => $category_id,
              'subcategory' => $subcategory,
              'status' => 1
          ];
          if($this->admin_model->insert('table name', $data) != false)
          {
             echo 'success';
            //or load your success page
          }else{
            echo 'failed';
            //or load your success page
          }
       }else{
          echo 'failed';
         //or load your success page
       }
    } 
}