drpogkqqi536984960 2017-06-19 17:35
浏览 48
已采纳

在codeIgniter中具有单值到字符串转换的数组

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)
  • 写回答

1条回答 默认 最新

  • dtby67541 2017-06-19 18:09
    关注

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染