Yii2 批量插入、更新數(shù)據(jù)實例
在使用yii2開發(fā)項目時,有時候會遇到這樣的情況:
向后臺發(fā)送多條數(shù)據(jù),其中一些數(shù)據(jù)已經(jīng)存在記錄,只需要對其部分字段的值進(jìn)行修改;而另一部分的數(shù)據(jù)則需要新添加進(jìn)去.
這就需要對添加的數(shù)據(jù)進(jìn)行判斷,其中一些執(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 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ā)情況下重復(fù)數(shù)據(jù)的方法
- Yii實現(xiàn)多數(shù)據(jù)庫主從讀寫分離的方法
- yii框架結(jié)合charjs統(tǒng)計上一年與當(dāng)前年數(shù)據(jù)的方法示例
相關(guān)文章
ThinkPHP使用UTFWry地址庫進(jìn)行IP定位實例
在WEB應(yīng)用中,根據(jù)IP地址定位和記錄相關(guān)訪問日志也是非常常見的需求,在ThinkPHP中你可以輕松的實現(xiàn)IP地址獲取和定位2014-04-04
PHP Laravel 使用Swagger生成API文檔(基本概念和環(huán)境搭建)
Swagger是一種簡單、強(qiáng)大的RESTful API表現(xiàn)形式,這篇文章主要介紹了PHP Laravel 使用Swagger生成API文檔(基本概念和環(huán)境搭建),需要的朋友可以參考下2023-09-09
php、mysql查詢當(dāng)天,查詢本周,查詢本月的數(shù)據(jù)實例(字段是時間戳)
下面小編就為大家?guī)硪黄猵hp、mysql查詢當(dāng)天,查詢本周,查詢本月的數(shù)據(jù)實例(字段是時間戳)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02

