Yii2 批量插入、更新數(shù)據(jù)實例
更新時間:2017年03月15日 09:05:38 作者:hebo5485
這篇文章主要介紹了Yii2 批量插入、更新數(shù)據(jù)實例的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
在使用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框架結(jié)合charjs實現(xiàn)統(tǒng)計30天數(shù)據(jù)的方法
- yii 框架實現(xiàn)按天,月,年,自定義時間段統(tǒng)計數(shù)據(jù)的方法分析
- Yii統(tǒng)計不同類型郵箱數(shù)量的方法
- Yii中的relations數(shù)據(jù)關(guān)聯(lián)查詢及統(tǒng)計功能用法詳解
- 解析yii數(shù)據(jù)庫的增刪查改
- Yii2框架數(shù)據(jù)庫簡單的增刪改查語法小結(jié)
- 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框架結(jié)合charjs統(tǒng)計上一年與當前年數(shù)據(jù)的方法示例
相關(guān)文章
CodeIgniter自定義控制器MY_Controller用法分析
這篇文章主要介紹了CodeIgniter自定義控制器MY_Controller用法,結(jié)合實例形式分析了CodeIgniter自定義控制器MY_Controller的定義與使用技巧,需要的朋友可以參考下2016-01-01
創(chuàng)建配置文件 用PHP寫出自己的BLOG系統(tǒng) 2
今天做博客安裝程序,首先做的是配置文件的創(chuàng)建。2010-04-04
Zend Framework教程之響應對象的封裝Zend_Controller_Response實例詳解
這篇文章主要介紹了Zend Framework教程之響應對象的封裝Zend_Controller_Response用法,結(jié)合實例形式詳細分析了響應對象的邏輯原理與相關(guān)使用技巧,需要的朋友可以參考下2016-03-03

