Yii2 批量插入、更新數(shù)據(jù)實例
更新時間:2017年03月15日 09:05:38 作者:hebo5485
這篇文章主要介紹了Yii2 批量插入、更新數(shù)據(jù)實例的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
在使用yii2開發(fā)項目時,有時候會遇到這樣的情況:
向后臺發(fā)送多條數(shù)據(jù),其中一些數(shù)據(jù)已經(jīng)存在記錄,只需要對其部分字段的值進行修改;而另一部分的數(shù)據(jù)則需要新添加進去.
這就需要對添加的數(shù)據(jù)進行判斷,其中一些執(zhí)行update,剩下的執(zhí)行insert
代碼如下,不對的地方請指教:
//批量更新,并將需要批量插入的數(shù)據(jù)放入數(shù)組中 foreach($goods as $k => $v) { if(yourModel::updateAllCounters( ['goods_num' => $v], ['goods_id' => $k,'user_id' => $id] )) { continue;//如果已經(jīng)更新,則跳過此次循環(huán),到下一次 } $data[] = [ 'user_id' => $id, 'goods_id' => $k, 'goods_num' => $v, 'created_time' => $time, ] } //再執(zhí)行批量插入 if (isset($data)) { Yii::$app->db->createCommand() ->batchInsert(yourModel::tableName(),['user_id','goods_id','goods_num','created_time'], $data) ->execute(); }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- yii框架結合charjs實現(xiàn)統(tǒng)計30天數(shù)據(jù)的方法
- yii 框架實現(xiàn)按天,月,年,自定義時間段統(tǒng)計數(shù)據(jù)的方法分析
- Yii統(tǒng)計不同類型郵箱數(shù)量的方法
- Yii中的relations數(shù)據(jù)關聯(lián)查詢及統(tǒng)計功能用法詳解
- 解析yii數(shù)據(jù)庫的增刪查改
- Yii2框架數(shù)據(jù)庫簡單的增刪改查語法小結
- Yii2.0高級框架數(shù)據(jù)庫增刪改查的一些操作
- yii框架表單模型使用及以數(shù)組形式提交表單數(shù)據(jù)示例
- Yii實現(xiàn)MySQL多數(shù)據(jù)庫和讀寫分離實例分析
- Yii+MYSQL鎖表防止并發(fā)情況下重復數(shù)據(jù)的方法
- Yii實現(xiàn)多數(shù)據(jù)庫主從讀寫分離的方法
- yii框架結合charjs統(tǒng)計上一年與當前年數(shù)據(jù)的方法示例
相關文章
PHP Laravel 使用Swagger生成API文檔(基本概念和環(huán)境搭建)
Swagger是一種簡單、強大的RESTful API表現(xiàn)形式,這篇文章主要介紹了PHP Laravel 使用Swagger生成API文檔(基本概念和環(huán)境搭建),需要的朋友可以參考下2023-09-09php、mysql查詢當天,查詢本周,查詢本月的數(shù)據(jù)實例(字段是時間戳)
下面小編就為大家?guī)硪黄猵hp、mysql查詢當天,查詢本周,查詢本月的數(shù)據(jù)實例(字段是時間戳)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02