Yii2批量插入

kool_Coder

我想一次插入多列。我从api获取数据,我想一次插入数千行。我该怎么做?

我尝试了以下

 if(is_array($did))
                {
                    $row=array();
                    foreach ($did as $di) 
                    {
                    
                      $row[]=$di['src'];
                      $row[]=$di['dst'];
                      $row[]=$di['disposition'];
                      $row[]=$di['cost'];
                      $row[]=$di['date'];
                       
                    }
                }
                Yii::$app->db->createCommand()->batchInsert('call_records', ['source', 'destination','disposition','cost','date_added'], [$row])->execute();

但我想它没有插入。第二个参数需要设置数组我无法做到。

请让我知道可以做什么

谢谢

scaisEdge

似乎您的行分配有误,请尝试使用这种方式

if (is_array($did)) {
     $row=array();
     foreach ($did as $di) {
        
          $row[]= [
            'source'        => $di['src'], 
            'destination'   => $di['dst'],
            'disposition'   => $di['disposition'],
            'cost'          => $di['cost'],
            'date_added'    => $di['date'],
          ];
                   
    }
}

$columns = ['source', 'destination','disposition','cost','date_added'];

Yii::$app->db->createCommand()
    ->batchInsert('call_records', $columns, $row)
    ->execute();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章