久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

  • <i id='i0AmY'><tr id='i0AmY'><dt id='i0AmY'><q id='i0AmY'><span id='i0AmY'><b id='i0AmY'><form id='i0AmY'><ins id='i0AmY'></ins><ul id='i0AmY'></ul><sub id='i0AmY'></sub></form><legend id='i0AmY'></legend><bdo id='i0AmY'><pre id='i0AmY'><center id='i0AmY'></center></pre></bdo></b><th id='i0AmY'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='i0AmY'><tfoot id='i0AmY'></tfoot><dl id='i0AmY'><fieldset id='i0AmY'></fieldset></dl></div>
        <bdo id='i0AmY'></bdo><ul id='i0AmY'></ul>

      <small id='i0AmY'></small><noframes id='i0AmY'>

      <legend id='i0AmY'><style id='i0AmY'><dir id='i0AmY'><q id='i0AmY'></q></dir></style></legend>

    1. <tfoot id='i0AmY'></tfoot>

        Eloquent 模型大規(guī)模更新

        Eloquent model mass update(Eloquent 模型大規(guī)模更新)
          <i id='Mk57M'><tr id='Mk57M'><dt id='Mk57M'><q id='Mk57M'><span id='Mk57M'><b id='Mk57M'><form id='Mk57M'><ins id='Mk57M'></ins><ul id='Mk57M'></ul><sub id='Mk57M'></sub></form><legend id='Mk57M'></legend><bdo id='Mk57M'><pre id='Mk57M'><center id='Mk57M'></center></pre></bdo></b><th id='Mk57M'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='Mk57M'><tfoot id='Mk57M'></tfoot><dl id='Mk57M'><fieldset id='Mk57M'></fieldset></dl></div>

            <legend id='Mk57M'><style id='Mk57M'><dir id='Mk57M'><q id='Mk57M'></q></dir></style></legend>
                <bdo id='Mk57M'></bdo><ul id='Mk57M'></ul>
                  <tbody id='Mk57M'></tbody>

                <small id='Mk57M'></small><noframes id='Mk57M'>

                  <tfoot id='Mk57M'></tfoot>
                • 本文介紹了Eloquent 模型大規(guī)模更新的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  如果我錯(cuò)了,請糾正我,但我認(rèn)為 Eloquent 模型中沒有大規(guī)模更新這樣的東西.

                  Please correct me if I am wrong, but I think there is no such thing as mass update in an Eloquent model.

                  有沒有辦法在不為每一行發(fā)出查詢的情況下對數(shù)據(jù)庫表進(jìn)行批量更新?

                  Is there a way to make a mass update on the DB table without issuing a query for every row?

                  比如有沒有靜態(tài)方法,比如

                  For example, is there a static method, something like

                  User::updateWhere(
                      array('age', '<', '18'),
                      array(
                          'under_18' => 1 
                          [, ...]
                      )
                  );
                  

                  (是的,這是一個(gè)愚蠢的例子,但你得到了圖片......)

                  (yes, it is a silly example but you get the picture...)

                  為什么沒有實(shí)現(xiàn)這樣的功能?如果發(fā)生這樣的事情,我是唯一一個(gè)會很高興的人嗎?

                  Why isn't there such a feature implemented? Am I the only one who would be very happy if something like this comes up?

                  我(開發(fā)人員)不想像這樣實(shí)現(xiàn)它:

                  I (the developers), wouldn't like to implement it like:

                  DB::table('users')->where('age', '<', '18')->update(array('under_18' => 1));
                  

                  因?yàn)殡S著項(xiàng)目的增長,我們以后可能會要求程序員更改表名,而他們無法搜索和替換表名!

                  because as the project grows, we may require the programmers to change the table name in the future and they cannot search and replace for the table name!

                  有沒有這樣的靜態(tài)方法來執(zhí)行這個(gè)操作?如果沒有,我們是否可以擴(kuò)展IlluminateDatabaseEloquentModel 類來完成這樣的事情?

                  Is there such a static method to perform this operation? And if there is not, can we extend the IlluminateDatabaseEloquentModel class to accomplish such a thing?

                  推薦答案

                  對于大規(guī)模更新/插入功能,已被請求但 Taylor Otwell(Laravel 作者)建議用戶應(yīng)改用 Query Builder.https://github.com/laravel/framework/issues/1295

                  For mass update/insert features, it was requested but Taylor Otwell (Laravel author) suggest that users should use Query Builder instead. https://github.com/laravel/framework/issues/1295

                  你的模型通常應(yīng)該擴(kuò)展 IlluminateDatabaseEloquentModel.然后你訪問實(shí)體本身,例如,如果你有這個(gè):

                  Your models should generally extend IlluminateDatabaseEloquentModel. Then you access the entity iself, for example if you have this:

                  <?php
                  Use IlluminateDatabaseEloquentModel;
                  
                  class User extends Model {
                  
                      // table name defaults to "users" anyway, so this definition is only for
                      // demonstration on how you can set a custom one
                      protected $table = 'users';
                      // ... code omited ...
                  

                  更新 #2

                  您必須求助于查詢構(gòu)建器.為了解決表命名問題,您可以通過 getTable() 方法動態(tài)獲取它.唯一的限制是您需要先初始化用戶類,然后才能使用此功能.您的查詢?nèi)缦?

                  You have to resort to query builder. To cover table naming issue, you could get it dynamically via getTable() method. The only limitation of this is that you need your user class initialized before you can use this function. Your query would be as follows:

                  $userTable = (new User())->getTable();
                  DB::table($userTable)->where('age', '<', 18)->update(array('under_18' => 1));
                  

                  這樣你的表名就是用戶模型中的控制器(如上例所示).

                  This way your table name is controller in User model (as shown in the example above).

                  更新 #1

                  執(zhí)行此操作的其他方法(在您的情況下效率不高)是:

                  Other way to do this (not efficient in your situation) would be:

                  $users = User::where('age', '<', 18)->get();
                  foreach ($users as $user) {
                      $user->field = value;
                      $user->save();
                  }
                  

                  這樣表名就保存在用戶類中,你的開發(fā)人員不必?fù)?dān)心.

                  This way the table name is kept in users class and your developers don't have to worry about it.

                  這篇關(guān)于Eloquent 模型大規(guī)模更新的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                  【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

                  相關(guān)文檔推薦

                  Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                  PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標(biāo)不起作用)
                  PHP PDO ODBC connection(PHP PDO ODBC 連接)
                  Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術(shù)方法)
                  php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個(gè)值;等于變量的值)
                  MSSQL PDO could not find driver(MSSQL PDO 找不到驅(qū)動程序)
                        <tbody id='8UiSC'></tbody>

                      <legend id='8UiSC'><style id='8UiSC'><dir id='8UiSC'><q id='8UiSC'></q></dir></style></legend><tfoot id='8UiSC'></tfoot>

                      <small id='8UiSC'></small><noframes id='8UiSC'>

                        <bdo id='8UiSC'></bdo><ul id='8UiSC'></ul>

                            <i id='8UiSC'><tr id='8UiSC'><dt id='8UiSC'><q id='8UiSC'><span id='8UiSC'><b id='8UiSC'><form id='8UiSC'><ins id='8UiSC'></ins><ul id='8UiSC'></ul><sub id='8UiSC'></sub></form><legend id='8UiSC'></legend><bdo id='8UiSC'><pre id='8UiSC'><center id='8UiSC'></center></pre></bdo></b><th id='8UiSC'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='8UiSC'><tfoot id='8UiSC'></tfoot><dl id='8UiSC'><fieldset id='8UiSC'></fieldset></dl></div>
                          • 主站蜘蛛池模板: 日韩午夜影院 | 亚洲精品天堂 | 精品欧美乱码久久久久久 | 在线观看亚洲专区 | 久久99国产精品 | 九九热精 | 日韩欧美在线播放 | 香蕉一区| 久久精品国产一区二区电影 | 麻豆一区二区三区 | 中文字幕在线观看一区 | 日韩精品在线免费 | 国产亚洲成av人片在线观看桃 | 久久综合欧美 | 欧美精品一区二区三区四区五区 | 搞av.com| 国产乱码精品1区2区3区 | 先锋av资源在线 | 精品中文字幕在线 | 国产成人在线视频播放 | 看av片网站 | 性一区 | 成人亚洲| 国产亚洲高清视频 | 性精品 | 免费三级av | 国产精品激情在线 | 亚洲国产成人精 | 国产精品美女久久久久久免费 | www.色.com| 免费久久网 | 国产一级片91 | www.国产一区 | 国产综合久久 | 99久久久久国产精品免费 | 国产精品久久国产精品久久 | gav成人免费播放视频 | 蜜桃精品视频在线 | 亚洲精品成人在线 | 欧美三级在线 | 91久久精品一区二区二区 |