成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Laravel實(shí)現(xiàn)批量更新多條數(shù)據(jù)

Laravel實(shí)現(xiàn)批量更新多條數(shù)據(jù)

熱門標(biāo)簽:濟(jì)源百應(yīng)電銷機(jī)器人聯(lián)系方式 南京3D地圖標(biāo)注 邢臺(tái)400電話辦理 咸陽(yáng)電銷 重慶外呼電銷系統(tǒng)多少錢 嘟嘟云外呼系統(tǒng) 正規(guī)電銷機(jī)器人系統(tǒng) 辦理400電話哪家好點(diǎn) 南寧電話外呼系統(tǒng)線路

前言

近期在刷新生產(chǎn)環(huán)境數(shù)據(jù)庫(kù)的時(shí)候,需要更新表中的字段,如果對(duì)每條數(shù)據(jù)結(jié)果都執(zhí)行一次update語(yǔ)句,占用的數(shù)據(jù)庫(kù)資源就會(huì)很多,而且速度慢。

因?yàn)轫?xiàng)目是Laravel框架,Laravel有批量插入的方法,卻沒(méi)有批量更新的方法,沒(méi)辦法只能自己實(shí)現(xiàn)。

準(zhǔn)備

mysql case…when的用法

MySQL 的 case when 的語(yǔ)法有兩種:

簡(jiǎn)單函數(shù)

CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END

CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END: 枚舉這個(gè)字段所有可能的值

select id,status '狀態(tài)值', case status
when 10 then '未開始'
when 20 then '配送中'
when 30 then '已完成'
when 40 then '已取消'
End '狀態(tài)'
from table

輸出結(jié)果:

搜索函數(shù)

CASE WHEN [expr] THEN [result1]…ELSE [default] END

CASE WHEN [expr] THEN [result1]…ELSE [default] END:搜索函數(shù)可以寫判斷,并且搜索函數(shù)只會(huì)返回第一個(gè)符合條件的值,其他case被忽略

select id,lessee_id '租戶ID', case 
when lessee_id =1 then '自用系統(tǒng)'
when lessee_id >1 then '租用系統(tǒng)'
End '系統(tǒng)分類'
from waybill_base_info

case…when實(shí)現(xiàn)數(shù)據(jù)庫(kù)的批量更新

更新單列的值

UPDATE base_info SET
 city_id = CASE id
  WHEN 1 THEN 
  WHEN 2 THEN 
  WHEN 3 THEN 
 END
WHERE id IN (1,2,3)

這句sql的意思是,更新city_id 字段:

如果id=1 則city_id 的值為100010,

如果id=2 則 city_id 的值為100011,

如果id=3 則 city_id 的值為100012。

即是將條件語(yǔ)句寫在了一起。

這里的where部分不影響代碼的執(zhí)行,但是會(huì)提高sql執(zhí)行的效率。

確保sql語(yǔ)句僅執(zhí)行需要修改的行數(shù),這里只有3條數(shù)據(jù)進(jìn)行更新,而where子句確保只有3行數(shù)據(jù)執(zhí)行。

更新多列的值

UPDATE base_info SET
city_id = CASE id
WHEN 1 THEN 100010
WHEN 2 THEN 100011
WHEN 3 THEN 100012
END,
city_name = CASE id
WHEN 1 THEN ‘北京'
WHEN 2 THEN ‘上海'
WHEN 3 THEN ‘廣州'
END
WHERE id IN (1,2,3)

不過(guò)這個(gè)有個(gè)缺點(diǎn) : 要注意的問(wèn)題是SQL語(yǔ)句的長(zhǎng)度,需要考慮程序運(yùn)行環(huán)境所支持的字符串長(zhǎng)度,當(dāng)然這也可以更新mysql的設(shè)置來(lái)擴(kuò)展。

Laravel實(shí)現(xiàn)批量更新

在model方法中封裝該批量更新的方法:

//批量更新
 public function updateBatch($multipleData = [])
 {
  try {
   if (empty($multipleData)) {
    Log::info("批量更新數(shù)據(jù)為空");
    return false;
   }
   $tableName = $this->table; // 表名
   $firstRow = current($multipleData);

  $updateColumn = array_keys($firstRow);
  // 默認(rèn)以id為條件更新,如果沒(méi)有ID則以第一個(gè)字段為條件
  $referenceColumn = isset($firstRow['id']) ? 'id' : current($updateColumn);
  unset($updateColumn[0]);
  // 拼接sql語(yǔ)句
  $updateSql = "UPDATE " . $tableName . " SET ";
  $sets = [];
  $bindings = [];
  foreach ($updateColumn as $uColumn) {
   $setSql = "`" . $uColumn . "` = CASE ";
   foreach ($multipleData as $data) {
    $setSql .= "WHEN `" . $referenceColumn . "` = ? THEN ? ";
    $bindings[] = $data[$referenceColumn];
    $bindings[] = $data[$uColumn];
   }
   $setSql .= "ELSE `" . $uColumn . "` END ";
   $sets[] = $setSql;
  }
  $updateSql .= implode(', ', $sets);
  $whereIn = collect($multipleData)->pluck($referenceColumn)->values()->all();
  $bindings = array_merge($bindings, $whereIn);
  $whereIn = rtrim(str_repeat('?,', count($whereIn)), ',');
  $updateSql = rtrim($updateSql, ", ") . " WHERE `" . $referenceColumn . "` IN (" . $whereIn . ")";
  Log::info($updateSql);
  // 傳入預(yù)處理sql語(yǔ)句和對(duì)應(yīng)綁定數(shù)據(jù)
  return DB::update($updateSql, $bindings);
 } catch (\Exception $e) {
  return false;
 }
}

在service層拼接需要更新的數(shù)據(jù),并調(diào)用該函數(shù):

 foreach ($taskInfo as $info) {
   $cityId = $info['requirement']['city_ids'];
   //此處省略n行代碼
   $cityInfo = ['id' => $dataId[$info['id']]['id'], 'city_id' => $cityId];
   if ($cityInfo) {
    $cityInfos[] = $cityInfo;
   }
  }
  $res = $this->waybillDriverInfoModel->updateBatch($cityInfos);
 }

拼接的批量更新的數(shù)組格式為:

$students = [

[‘id' => 1, ‘city_id' => ‘100010'],

[‘id' => 2, ‘city_id' => ‘100011'],

];

生成的SQL語(yǔ)句如下:

UPDATE base_info SET `city_id` = CASE WHEN `id` = 1 THEN 100010 WHEN `id` = 2 THEN 100011 ELSE `city_id` END WHERE `id` IN (1,2)

因?yàn)槊看沃徊僮?0條數(shù)據(jù),所以這樣拼接的字符串不會(huì)太長(zhǎng),符合mysql的字符串長(zhǎng)度的要求,解決問(wèn)題。

本文主要講解了Laravel實(shí)現(xiàn)批量更新多條數(shù)據(jù)的方法,更多關(guān)于Laravel的使用技巧請(qǐng)查看下面的相關(guān)鏈接

您可能感興趣的文章:
  • Laravel框架學(xué)習(xí)筆記之批量更新數(shù)據(jù)功能
  • Laravel 批量更新多條數(shù)據(jù)的示例
  • laravel實(shí)現(xiàn)批量更新多條記錄的方法示例

標(biāo)簽:平頂山 南通 唐山 黃山 武漢 隴南 河南 通遼

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel實(shí)現(xiàn)批量更新多條數(shù)據(jù)》,本文關(guān)鍵詞  Laravel,實(shí)現(xiàn),批量,更新,多條,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Laravel實(shí)現(xiàn)批量更新多條數(shù)據(jù)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Laravel實(shí)現(xiàn)批量更新多條數(shù)據(jù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    二区三区在线播放| 久热免费视频| a级毛片免费观看在线| 91免费版网站在线观看| 99久久综合狠狠综合久久止| 国产乱国产乱老熟300| 异国色恋浪漫潭| 国产精品99久久久久久久| 一级特黄aa大片| 精品一性一色一乱农村| 丝袜 亚洲 另类 欧美 重口| 无码h黄肉3d动漫在线观看| 四虎精品免费视频| 亚洲精品视频久久| 成年片费网站色大全免费视频| 波多野结衣一区二区三区在线| 色88久久久久高潮综合影院| 亚洲精品少妇一区二区| 91精品国产综合久久久久| 日产电影一区二区三区| 嫩草影院永久入口| 欧美精品a∨在线观看不卡| 国产精品久久久久久久久粉嫩av| 日韩精品在线视频美女| 国产亚洲电影| 亚洲国产精品日韩| 95精品视频在线| 日本一区二区视频在线播放| 成人精品免费网站| 久久在线91| 国产精品免费一区二区| 影音av在线| 中文字幕在线视频区| 亚洲欧美日韩久久| 国产黄色一区二区三区| 日韩在线三级| 日本手机在线视频| 成人久久一区| 色婷婷精品视频| 亚洲kkk444kkk在线观看| 国产女精品视频网站免费| 久久婷婷国产综合尤物精品| 欧美精品一区二区久久久| 永久免费的av网站| 国产黄色一区| 91免费看网站| 性色av蜜臀av色欲av| 免费人成黄页在线观看忧物| 国产精品视频流白浆免费视频| 日本亚洲视频在线| 国产又粗又硬视频| 亚洲国产欧美在线人成| 小草在线视频免费播放| 国产成人一区三区| 日韩在线第七页| 国产草草影院ccyycom| 欧美日韩在线观看免费| 精品动漫一区| 精品国产免费久久| 三级免费网站| 国产精品一区二区女厕厕| 国产人成高清视频观看| 精品成人av| 欧美大片在线观看一区二区| 超碰96在线| 国产免费人人看| 亚洲大香人伊一本线| 亚洲欧美一区二区三区国产精品| 国产又黄又猛又粗又爽的视频| 久久精品蜜桃| 91久久久久久久久久久久| 老司机精品免费视频| 99国产精品白浆在线观看免费| 91亚洲精品视频| 高清国产一区二区三区| 色大师av一区二区三区| 变态另类ts人妖一区二区| 成人av网站大全| 成人欧美一区二区三区黑人麻豆| 91超碰免费在线| 亚洲羞羞网站| 国产午夜精品一区二区三区四区| 欧美制服第一页| 2222www色视频在线观看| 麻豆久久久久久久| 91av视频在线播放| 亚洲天堂网站在线| 日本美女视频一区| 91国语精品自产拍在线观看性色| 免费精品国产的网站免费观看| 国产精品1区2区| 黄在线观看免费网站ktv| 亚洲综合成人在线| 美女洗澡无遮挡| 国产美女在线一区二区三区| 成人午夜福利一区二区| 窝窝社区一区二区| 午夜黄色一级片| 91美女片黄在线观| 日韩av有码在线| 91精品视频免费看| 最新在线你懂的| 精品国产精品三级精品av网址| 被男人吃奶添下面好舒服动态图| 天堂av在线免费观看| 五月香视频在线观看| 日本激情视频在线播放| 五月激情丁香婷婷| 91免费公开视频| 久久精品久久久久电影| 色噜噜狠狠一区二区三区果冻| 波多野结衣视频网址| 91丨porny丨蝌蚪视频| 北条麻妃高清一区| 99久久精品无免国产免费| 战狼4完整免费观看在线播放版| 成人性生交大片免费看视频在线| 波多野结衣啪啪| 无码精品人妻一区二区三区影院| 久久久久久久久综合| www.18av.com| 一区二区三区高清| 午夜无码国产理论在线| 欧美丰满少妇人妻精品| 亚洲国产成人久久综合| 中文在线免费| 日韩成人dvd| 久久久一区二区三区| 国产精品成人免费电影| 国产精品伦一区二区三级视频| 女人黄色免费在线观看| 欧美日韩免费区域视频在线观看| 欧美激情成人动漫| 欧美日韩亚洲精品一区二区三区| 国产乱肥老妇国产一区二| 久久免费国产| av日韩在线播放| 免费观看四虎精品成人| 欧美性三三影院| 成人激情视频网站| 黄色激情在线播放| 2021中文字幕在线| 欧美一区三区四区| 欧美三级午夜理伦三级老人| 中国黄色在线视频| 亚洲精品一二三区区别| 四虎国产成人精品免费一女五男| 无码日本精品xxxxxxxxx| 国产婷婷色综合av蜜臀av| 日本中文字幕在线不卡| 亚洲精品免费在线播放| 欧美高清另类hdvideosexjaⅴ| 青青草原成人在线视频| 99理论电影网| 小荡货+程雪柔| 国产浮力第一页| 欧美精品久久久久久久自慰| 欧美日韩伦理在线免费| 国产乱子伦农村叉叉叉| 69堂国产成人免费视频| 国产黄a三级三级看三级| 国产精品超碰| 亚洲人成小说网站色在线| 婷婷综合亚洲| 欧美超级乱淫片喷水| 亚洲免费影视第一页| av电影网站在线观看| 黑人巨大40厘米重口ysn| 黄网页在线观看| 日韩av电影在线网| 日韩av黄色在线观看| 欧美日韩精品一区二区三区视频| 亚洲欧美日韩中文播放| 超级碰碰不卡在线视频| 亚洲精品乱码视频| 成年人国产精品| 日韩超碰人人爽人人做人人添| 亚洲成av人片在线观看无| 污视频在线看操| 一区二区三区免费在线视频| 日韩av综合网站| 国产成人一区二区精品非洲| 国产一区二区三区四区五区入口| 亚洲二区在线视频| 国产情人节一区| 最新欧美色图| 中文字幕在线看视频国产欧美| 裸体在线国模精品偷拍| 国产福利不卡视频| 91p0rn永久地址| 好男人官网在线| 亚欧精品在线视频| 欧美精品国产白浆久久久久| av网站在线不卡| 95精品视频| 中文字幕免费高清网站| 久草福利在线| 天堂午夜在线| 大胆人体一区| 97福利一区二区| 欧洲精品码一区二区三区免费看| 亚洲欧洲中文日韩久久av乱码| 91免费看蜜桃| 爱爱精品视频| 麻豆福利视频| 中文字幕三区| 欧美激情专区| 中文字幕一区二区三区人妻四季| 性猛交富婆╳xxx乱大交天津| 亚洲综合无码一区二区| 性欧美18一19sex性欧美| av官网在线播放| 香蕉久久免费影视| 亚洲av午夜精品一区二区三区| 成人综合网址| 亚洲美女福利视频网站| 欧美精品久久久久久久久久久| 四虎国产成人精品免费一女五男| 乱色精品无码一区二区国产盗| 成人性生交大片免费看小说| 精品国产乱码久久久久久蜜臀| 精品免费在线观看| 欧美人妇做爰xxxⅹ性高电影| 视频在线观看你懂的| 成人午夜视频在线观看免费| 伊人中文字幕在线| 怡红院精品视频在线观看极品| 人妻少妇被粗大爽9797pw| 日韩hd视频在线观看| 国产精品久久久久久一区二区| 亚洲 欧美 国产 另类| 欧美群妇大交群的观看方式| 中文字幕在线网站| www999久久| 很很鲁在线视频播放影院| 91九色蝌蚪| 国产一区国产二区国产三区| 91精品国产乱码久久久竹菊| 99久9在线视频| 国产一级伦理片| 色老板亚洲精品一区| 一区二区三区视频在线观看视频| 日本一本草久在线中文| 中文字幕免费精品一区高清| 卡一精品卡二卡三网站乱码| 天堂中文av| 欧美午夜不卡影院在线观看完整版免费| 色综合色综合久久综合频道88| 日韩精品亚洲一区| 午夜精品三级久久久有码| 色在线免费视频| 日韩电影在线观看一区二区| 精品国产乱码久久久久久88av| 亚洲综合久久av一区二区三区| 严阵以待中文社区| 欧美美女被草| 欧美日韩免费一区二区三区视频| 小草在线视频在线免费视频| 欧美电影在线观看免费| 成人激情诱惑| 三上亚洲一区二区| 国产精品久久久久久久av电影| 天天插天天操天天射| 欧美精品激情在线| 国产黄色片免费观看| 免费观看日批视频| 亚洲精品在线观看www| 欧美成人bangbros| 国产一区二区三区高清| 91免费版视频| 亚洲精品成人无码熟妇在线| 蜜桃视频久久一区免费观看入口| 日韩色视频在线观看| 日韩欧美另类一区二区| 成人av影视在线| 少妇特黄a一区二区三区| 激情av一区二区| 不卡大黄网站免费看| 亚洲国产成人精品综合99| 人人鲁人人莫人人爱精品| 国产毛片一区| 精品乱色一区二区中文字幕| 欧美xx在线| 激情久久综合网| 少妇高潮 亚洲精品| 美脚丝袜一区二区三区在线观看| 国产精品www网站| 2018天天操夜夜操| 色爱av综合网| 性高潮久久久久久久久| 精品国产户外野外| 亚洲日韩成人| 国产成人一区二区三区别| 免费一级suv好看的国产网站| 亚洲成人短视频| 五月激情六月综合| 激情av一区| 成人福利网址| 欧美一级日本a级v片| 国产成人av网| 国产精品二区二区三区| sm捆绑调教视频| 波多野结衣中文字幕在线| 欧美精品videosex性欧美| 午夜av在线播放| 九一免费在线观看| 国产成人精品福利一区二区三区| www.狠狠操.com| 成年人网站在线| 欧美二区在线| 999精品在线| 色先锋资源在线播放av| 欧美日韩五区| 久久久99精品视频| 男人天堂网站在线| 欧美激情中文字幕一区二区| 日韩欧美国产小视频| 久热这里有精品| 91九色蝌蚪成人| 午夜影院免费视频| 亚洲一区二区三区xxx视频| 久久99久久99精品免费看小说| 久久久一本精品99久久精品66| 国产精品777777在线播放| 久久久久久自在自线| 天天夜碰日日摸日日澡性色av| 欧美性色xo影院| 久久99精品视频一区97|