当前位置:首页 > PHP教程 > PHP常见问题

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

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



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐