Yii2 批量插入、更新数据实例

开发技术 作者: 2024-08-17 05:15:01
这篇文章主要介绍了Yii2 批量插入、更新数据实例的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

在使用yii2开发项目时,有时候会遇到这样的情况:

向后台发送多条数据,其中一些数据已经存在记录,只需要对其部分字段的值进行修改;而另一部分的数据则需要新添加进去.

这就需要对添加的数据进行判断,其中一些执行update,剩下的执行insert

代码如下,不对的地方请指教:

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))
{
Yii::$app->db->createCommand()
->batchInsert(yourModel::tableName(),['user_id','goods_id','goods_num','created_time'],$data)
->execute();
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_63611.html