Yii2 批量插入



我想一次插入多列。我正在从 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();

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

请让我知道可以做什么

谢谢

似乎你有错误的行分配尝试使用这种方式

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();

相关内容

  • 没有找到相关文章

最新更新