【问题标题】:How to create insert_batch array in Codeigniter如何在 Codeigniter 中创建 insert_batch 数组
【发布时间】:2016-03-27 06:58:47
【问题描述】:

我正在尝试使用insert_batch 在活动记录中插入数组数据,如下所示:任何想法准备使用insert_batch 或任何其他方式插入数组?

  $detailBill=array(
        'TraineeID'=>$inputall['ID'],
        'wDate'=>$inputall['wDate'],
        'ACH'=>$inputall['Hour'],
        'CRA'=>$inputall['Retention'],
        'Amount'=>$inputall['PaybleAmt'],
        'forMonth'=>$inputall['monthid']
    );

$this->db->insert_batch("tbl_submit_coursefee", $detailBill);

输出:

Array
(
    [TraineeID]=> Array
    (
      [0]=>3001
      [1]=>3002
      [2]=>3003
      [3]=>3004
      [4]=>3005
      [5]=>3006
      [6]=>3007
      [7]=>3008
      [8]=>3009
      [9]=>3010
      [10]=>3011
      [11]=>3012
      [12]=>3013
    )
   [wDate]=> Array
   (
      [0]=>
      [1]=>
      [2]=>
      [3]=>
      [4]=>
      [5]=>
      [6]=>
      [7]=>
      [8]=>
      [9]=>
      [10]=>
      [11]=>
      [12]=>
   )
   more field here....
)

【问题讨论】:

标签: codeigniter activerecord


【解决方案1】:

我假设您要重新组织数组。试试这个:

$a = array(
    'TraineeID' => array(
        3001,
        3002
    ),
    'wDate' => array(
        '123',
        '234'
    ),
    'Hour' => array(
        12,
        13
    )
);

$keys = array_keys($a);//counting outer array

if(count($keys[0]) > 0)//checking if inner array has values at all
{
    $new_a = [];//initializing expecting array

    foreach($a[$keys[0]] as $k => $v)
    {
        for($i = 0; $i < count($keys); $i++)
        {
            $new_a[$k][$keys[$i]] = $a[$keys[$i]][$k];
        }
    }
}

//echo '<pre>', var_dump($new_a);

【讨论】:

  • 非常感谢,这正是我想要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
  • 2015-01-28
  • 2014-02-07
  • 1970-01-01
  • 2018-04-28
  • 1970-01-01
相关资源
最近更新 更多