Cronas De Se
Cronas De Se

Reputation: 331

Converting Array to 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.

Upvotes: 1

Views: 1262

Answers (3)

noushid p
noushid p

Reputation: 1483

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
       }
    } 
}

Upvotes: 1

pratik
pratik

Reputation: 49

You should try this

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

Upvotes: 1

user4486345
user4486345

Reputation:

$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);

Upvotes: 2

Related Questions