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 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?