<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 查找并更新 在取出數據后,更改字段內容后更新數據。 ~~~ $user = UserModel::get(1); $user->user_nickname = '老貓'; $user->user_email = 'genmaowan@163.com'; $user->save(); ~~~ ## 直接更新數據 也可以直接帶更新條件來更新數據 ~~~ $user = new UserModel; // save方法第二個參數為更新條件 $user->save([ 'user_nickname' => '老貓', 'user_email' => 'admin@thinkct.net' ], ['id' => 1]); ~~~ 上面兩種方式更新數據,如果需要過濾非數據表字段的數據,可以使用: ~~~ $user = new UserModel(); // 過濾post數組中的非數據表字段數據 $user->allowField(true)->save($_POST,['id' => 1]); ~~~ 如果你通過外部提交賦值給模型,并且希望指定某些字段寫入,可以使用: ~~~ $user = new UserModel(); // post數組中只有user_nickname和user_email字段會寫入 $user->allowField(['user_nickname','user_email'])->save($_POST, ['id' => 1]); ~~~ 批量更新數據 可以使用saveAll方法批量更新數據,例如: ~~~ $user = new UserModel; $users = [ ['id' => 1, 'user_nickname' => '老貓', 'user_email' => 'genmaowan@163.com'], ['id' => 2, 'user_nickname' => '老貓666', 'user_email' => 'genmaowan666@163.com'] ]; $user->saveAll($users); ~~~ ## 通過數據庫類更新數據 必要的時候,你也可以使用數據庫對象來直接更新數據,但這樣就無法使用模型的事件功能。 ~~~ $user = new UserModel; $user->where('id', 1) ->update(['user_nickname' => '老貓666']); ~~~ 或者使用: ~~~ $user = new UserModel; $user->update(['id' => 1, 'user_nickname' => '老貓666']); ~~~ 如果傳入update的數據包含主鍵的話,可以無需使用where方法。 靜態方法 模型支持靜態方法直接更新數據,例如: ~~~ UserModel::where('id', 1) ->update(['user_nickname' => '老貓666']); ~~~ 或者使用: ~~~ UserModel::update(['id' => 1, 'user_nickname' => '老貓666']); ~~~ 閉包更新 可以通過閉包函數使用更復雜的更新條件,例如: ~~~ $user = new UserModel; $user->save(['user_nickname' => '老貓666'],function($query){ // 更新status值為1 并且id大于10的數據 $query->where('status', 1)->where('id', '>', 10); }); ~~~ ## 自動識別 我們已經看到,模型的新增和更新方法都是save方法,系統有一套默認的規則來識別當前的數據需要更新還是新增。 實例化模型后調用save方法表示新增; 查詢數據后調用save方法表示更新; 調用模型的save方法后表示更新; 如果你的數據操作比較復雜,可以顯式的指定當前調用save方法是新增操作還是更新操作。 顯式更新數據: ~~~ // 實例化模型 $user = new UserModel; // 顯式指定更新數據操作 $user->isUpdate(true) ->save(['id' => 1, 'user_nickname' => '老貓666']); ~~~ 顯示新增數據: ~~~ $user = UserModel::get(1); $user->user_nickname = '老貓666'; // 顯式指定當前操作為新增操作 $user->isUpdate(false)->save(); ~~~ > 注意不要在一個模型實例里面做多次更新,會導致部分重復數據不再更新,正確的方式應該是先查詢后更新或者使用模型類的update方法更新。 如果你調用save方法進行多次數據寫入的時候,需要注意,第二次save方法的時候必須使用isUpdate(false),否則會視為更新數據。
                  <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>

                              哎呀哎呀视频在线观看