0

In the controller I send an array to parameters to the model to be inserted in a table. Before to send those values 2 queries need to be performed. Both queries return a single number which is the ID for a foreign key.

This is the code in my controller

//Here are the two queries, as I understand the queries return an array with a single value for the ID
//Then I try to save that first value of the array in a different variable.

$idEmployee1 = $this->Pogeneralmodel->get_idEmployee($this->input->post('employee1'));
$employee1 = array_values($idEmployee1)[0]; 
$idEmployee2 = $this->Pogeneralmodel->get_idEmployee($this->input->post('employee2'));
$employee2 = array_values($idEmployee2)[0]; 

$params = array(
    //I send these two variables with many other parameters (I removed them to make it shorter)
    'idEmployee1' => $employee1,
    'idEmployee2' => $employee2,
);

$po_general_id = $this->Pogeneralmodel->add_po_general($params);

The problem is that I get the Array to string conversion error. It seems like $employee1 and $employee2 are still considered as arrays.

This the query that runs when I try to insert.

Unknown column 'Array' in 'field list'

INSERT INTO `po_general` (`idEmployee1`, `idEmployee2`) VALUES (Array, Array)

Thanks!

EDIT: Here is the var_dump for employee1 after running the query with the function get_idEmployee

array (size=1)
    0 => 
        array (size=1)
        'id' => string '1' (length=1)
2
  • can you check those variables with var_dump($employee1); ? Commented Jun 19, 2017 at 17:42
  • @HimanshuUpadhyay Yes, I can see the array in the var_dump. I included it the edit. Commented Jun 19, 2017 at 17:52

1 Answer 1

1

So you can modify your code like this:

$idEmployee1 = $this->Pogeneralmodel->get_idEmployee($this->input->post('employee1'));
$employee1 = array_values($idEmployee1)[0]['id']; 
$idEmployee2 = $this->Pogeneralmodel->get_idEmployee($this->input->post('employee2'));
$employee2 = array_values($idEmployee2)[0]['id']; 

$params = array(
    //I send these two variables with many other parameters (I removed them to make it shorter)
    'idEmployee1' => $employee1,
    'idEmployee2' => $employee2,
);

$po_general_id = $this->Pogeneralmodel->add_po_general($params);

This is the solution.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.