Yii2如何批量更新和插入数据?

已邀请:

zkbhj - 凯冰科技站长

赞同来自:

....其他代码

//批量更新,并将需要批量插入的数据放入数组中

foreach($goods as $k => $v)
{
if(yourModel::updateAllCounters(
['goods_num' => $v],
['goods_id' => $k,'user_id' => $id]
))
{
continue;//如果已经更新,则跳过此次循环,到下一次
}

$data = [
'user_id' => $id,
'goods_id' => $k,
'goods_num' => $v,
'created_time' => $time,
]
}

//再执行批量插入,返回总共插入的记录数
if (isset($data))
{
$insertCounts = Yii::$app->db->createCommand()
->batchInsert(yourModel::tableName(),['user_id','goods_id','goods_num','created_time'],
$data)
->execute();
}


......其他代码

要回复问题请先登录注册