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 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测