<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] >[info] 更新的最佳實踐原則是:如果需要使用模型事件,那么就先查詢后更新,如果不需要使用事件或者不查詢直接更新,直接使用靜態的`Update`方法進行條件更新,如非必要,盡量不要使用批量更新。 # **查找并更新:save** 在取出數據后,更改字段內容后使用`save`方法更新數據。**這種方式是最佳的更新方式**。 ~~~ $user = User::find(1); 或者: $user = User::where('status',1) ->where('name','dash') ->find(); $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; //成功返回true $user->save(); //過濾: post數組中只有name和email字段會寫入 $user->allowField(['name', 'email'])->save($_POST); //save方法更新數據,只會更新變化的數據,對于沒有變化的數據是不會進行重新更新的。如果你需要強制更新數據,可以使用force() //以前版本是isUpdate(true)方法但是這個方法在tp6被移除了 $user->force()->save(); ~~~ 如果要執行SQL函數更新,可以使用下面的方法 ~~~ $user = User::find(1); $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->score = Db::raw('score+1'); $user->save(); ~~~ >[danger]save方法現在只能先查詢后更新,不支持條件更新了例如tp5中`$user->save([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com' ],['id' => 1]);`這種方法就不再支持 # **批量更新數據saveAll** 可以使用`saveAll`方法批量更新數據,只需要在批量更新的數據中包含主鍵即可,例如: ~~~ $user = new User; $list = [ ['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'], ['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com'] ]; $user->saveAll($list); ~~~ 批量更新方法返回的是一個數據集對象。 >[danger] 批量更新僅能根據主鍵值進行更新,其它情況請自行處理。 # **直接更新 :update(靜態方法)** ~~~ //返回模型的對象實例 User::update(['name' => 'thinkphp'], ['id' => 1]); ~~~ # **自動識別** 我們已經看到,模型的新增和更新方法都是`save`方法,系統有一套默認的規則來識別當前的數據需要更新還是新增。 * 實例化模型后調用`save`方法表示新增;如果new model后用save修改匯報`Integrity constraint violation: 1062 Duplicate entry '3' for key 'PRIMARY'`錯誤 * 查詢數據后調用`save`方法表示更新; 不要在一個模型實例里面做多次更新,會導致部分重復數據不再更新,正確的方式應該是先查詢后更新或者使用模型類的`update`方法更新。 >[danger] 不要調用`save`方法進行多次數據寫入。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看