最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Laravel框架學(xué)習(xí)筆記之批量更新數(shù)據(jù)功能

 更新時(shí)間:2019年05月30日 09:51:16   作者:Hubs''m  
這篇文章主要介紹了Laravel框架學(xué)習(xí)筆記之批量更新數(shù)據(jù)功能,結(jié)合實(shí)例形式分析了Laravel框架批量更新數(shù)據(jù)的相關(guān)模型定義與使用操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Laravel框架批量更新數(shù)據(jù)功能。分享給大家供大家參考,具體如下:

前言

上周公司的比賽項(xiàng)目以淚奔結(jié)束...一臺(tái)2核4G的VPS完全蹦了..集體被老大叼杠。下個(gè)月的比賽又要開始了,所以現(xiàn)在抓緊時(shí)間升級(jí)服務(wù)器,優(yōu)化代碼與SQL,剛看到排名那有1000多條更新語(yǔ)句,太受不了了,所以在google找了下資源,找到了批量更新數(shù)據(jù)的方法,記錄一下。

代碼

//from https://github.com/mavinoo/laravelBatch
static function batchUpdate($model, array $values, $index = null){
  $final = [];
  $ids = [];
  if (!count($values)) {
    return false;
  }
  if (!isset($index) || empty($index)) {
    $index = $model->getKeyName();
  }
  foreach ($values as $key => $val) {
    $ids[] = $val[$index];
    foreach (array_keys($val) as $field) {
      if ($field !== $index) {
        $value = (is_null($val[$field]) ? 'NULL' : '"' . self::mysql_escape($val[$field]) . '"');
        $final[$field][] = 'WHEN `' . $index . '` = "' . $val[$index] . '" THEN ' . $value . ' ';
      }
    }
  }
  $cases = '';
  foreach ($final as $k => $v) {
    $cases .= '`' . $k . '` = (CASE ' . implode("\n", $v) . "\n"
      . 'ELSE `' . $k . '` END), ';
  }
  $full_table     =  $model->getConnection()->getTablePrefix() . $model->getTable();
  $query = "UPDATE `" .$full_table . "` SET " . substr($cases, 0, -2) . " WHERE `$index` IN(" . '"' . implode('","', $ids) . '"' . ");";
  \DB::update($query);
  #return $this->db->connection($this->getConnectionName($table))->update($query);
}

測(cè)試代碼如下

$userInstance = new User();
$value = [
  [
    'id' => 2,
    'contest_name' => 'A1',
    'project_name' => 'P1'
  ] ,
  [
    'id' => 3,
    'contest_name' => 'A2',
    'project_name' => 'P2'
  ] ,
];
$index = 'id';
Utils::batchUpdate($userInstance, $value, $index);

記錄完趕緊干活去....

更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Laravel框架FormRequest中重寫錯(cuò)誤處理的方法

    Laravel框架FormRequest中重寫錯(cuò)誤處理的方法

    這篇文章主要介紹了Laravel框架FormRequest中重寫錯(cuò)誤處理的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2019-02-02
  • php導(dǎo)出csv文件,可導(dǎo)出前導(dǎo)0實(shí)例代碼

    php導(dǎo)出csv文件,可導(dǎo)出前導(dǎo)0實(shí)例代碼

    下面小編就為大家?guī)?lái)一篇php導(dǎo)出csv文件,可導(dǎo)出前導(dǎo)0實(shí)例代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2016-11-11
  • Zend Framework教程之Zend_Registry對(duì)象用法分析

    Zend Framework教程之Zend_Registry對(duì)象用法分析

    這篇文章主要介紹了Zend Framework教程之Zend_Registry對(duì)象用法,結(jié)合實(shí)例形式分析了對(duì)象注冊(cè)表Zend_Registry的具體功能與相關(guān)使用技巧,需要的朋友可以參考下
    2016-03-03
  • php獲取數(shù)據(jù)庫(kù)結(jié)果集方法(推薦)

    php獲取數(shù)據(jù)庫(kù)結(jié)果集方法(推薦)

    下面小編就為大家?guī)?lái)一篇php獲取數(shù)據(jù)庫(kù)結(jié)果集方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-06-06
  • PHP中單雙號(hào)與變量

    PHP中單雙號(hào)與變量

    這篇文章主要介紹了PHP中單雙號(hào)與變量的相關(guān)資料,本文實(shí)例代碼結(jié)合文字說明,給大家介紹的非常詳細(xì),需要的朋友參考下
    2018-03-03
  • 使用tp框架和SQL語(yǔ)句查詢數(shù)據(jù)表中的某字段包含某值

    使用tp框架和SQL語(yǔ)句查詢數(shù)據(jù)表中的某字段包含某值

    今天小編就為大家分享一篇使用tp框架和SQL語(yǔ)句查詢數(shù)據(jù)表中的某字段包含某值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-10-10
  • Yii使用DbTarget實(shí)現(xiàn)日志功能的示例代碼

    Yii使用DbTarget實(shí)現(xiàn)日志功能的示例代碼

    這篇文章主要介紹了Yii使用DbTarget實(shí)現(xiàn)日志功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • thinkphp的鉤子的兩種配置和兩種調(diào)用方法

    thinkphp的鉤子的兩種配置和兩種調(diào)用方法

    這篇文章主要介紹了thinkphp的鉤子的兩種配置和兩種調(diào)用方法,實(shí)例講解的很清晰,有不懂的同學(xué)可以學(xué)習(xí)下
    2021-02-02
  • ThinkPHP3.1.x修改成功與失敗跳轉(zhuǎn)頁(yè)面的方法

    ThinkPHP3.1.x修改成功與失敗跳轉(zhuǎn)頁(yè)面的方法

    這篇文章主要介紹了ThinkPHP3.1.x修改成功與失敗跳轉(zhuǎn)頁(yè)面的方法,涉及thinkPHP底層源文件中相關(guān)跳轉(zhuǎn)代碼的設(shè)置與修改操作技巧,需要的朋友可以參考下
    2017-09-09
  • Laravel 連接(Join)示例

    Laravel 連接(Join)示例

    今天小編就為大家分享一篇Laravel 連接(Join)示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-10-10

最新評(píng)論

祁东县| 全南县| 黔江区| 商南县| 渭南市| 河池市| 宁安市| 邵东县| 桐柏县| 图木舒克市| 类乌齐县| 从化市| 新邵县| 孝感市| 涪陵区| 东海县| 彰化县| 凌云县| 兴山县| 邢台市| 保康县| 巴塘县| 永德县| 靖宇县| 柞水县| 开封市| 贡山| 普宁市| 抚顺市| 子长县| 黎川县| 哈密市| 奉化市| 凌海市| 察雅县| 子洲县| 环江| 桂平市| 康保县| 岑溪市| 翁源县|