<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                >[danger]data($data) 這個方法Model和Query都存在,分別返回自己所在的類對象即$this >Model和Query都有setInc/setDec方法,用于字段自增自減,用法也一樣 >允許字段Model是allowField(['name','email']); Query是field(['name','email'],false) ## **Query** ### **更新一條數據** update: 方法返回影響數據的條數,沒修改任何數據返回 0 ~~~ Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']); //同 Db::table('think_user')->update(['name' => 'thinkphp','id'=>1]); ~~~ ### **更新某個字段的值:** setField: 方法返回影響數據的條數,沒修改任何數據字段返回 0 ~~~ Db::table('think_user')->where('id',1)->setField('name', 'thinkphp'); ~~~ ### **自增或自減一個字段的值** setInc/setDec 方法返回影響數據的條數 對應鏈式操作方法為inc/dec ~~~ // 默認score 字段加 1 Db::table('think_user')->where('id', 1)->setInc('score'); // score 字段加 5 Db::table('think_user')->where('id', 1)->setInc('score', 5); // 默認score 字段減 1 Db::table('think_user')->where('id', 1)->setDec('score'); // score 字段減 5 Db::table('think_user')->where('id', 1)->setDec('score', 5); //setInc/setDec支持延時更新,如果需要延時更新則傳入第三個參數 //例:延時10秒,給`score`字段增加1 Db::table('think_user')->where('id', 1)->setInc('score', 1, 10); ~~~ 如果要更新的數據需要使用`SQL`函數或者其它字段,可以使用下面的方式: 對應鏈式操作方法為exp ~~~ Db::table('think_user') ->where('id', 1) ->update([ 'login_time' => Db::raw('now()'), 'login_times' => Db::raw('login_times+1'), ]); 已廢棄的: Db::table('think_user') ->where('id', 1) ->update([ 'login_time' => ['exp','now()'], 'login_times' => ['exp','login_times+1'], ]); ~~~ 上面的方法被有被封裝為鏈式輔助操作方法這樣就可以連續調用 ~~~ Db::table('data') ->where('id',1) ->inc('read')// read字段自增1 ->dec('score',3)//score字段自減3 ->exp('name','UPPER(name)')//對name字段使用函數UPPER使其首字母大寫 ->update(); ~~~ ## **Model** 相比Query更新,多了模型的事件功能 注意不要在一個模型實例里面做多次更新,會導致部分重復數據不再更新,正確的方式應該是先查詢后更新或者使用模型類的`update`方法更新。 >[danger] 如果你調用save方法進行多次數據寫入的時候,需要注意,第二次save方法的時候必須使用isUpdate(false),否則會視為更新數據。 ### **更新一條數據** ~~~ save方法新增數據返回的是受影響的行數。 //## 查找并更新 $user = User::get(1); $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->save(); // 直接更新數據 $user = new User; // save方法第二個參數為更新條件 $user->save([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com' ],['id' => 1]); //如果想把主鍵放到一起,需要isUpdate() $items=new \app\index\model\Banner(); $items->isUpdate()->save(['des'=>'廣告位xxx輪播','id'=>8]); //靜態方法::update 返回Model 他是isUpdate(true)和save(0的結合體 \app\index\model\User::update(['id' => 1, 'name' => 'thinkphp']); // 閉包更新 $user = new User; $user->save(['name' => 'thinkphp'],function($query){ // 更新status值為1 并且id大于10的數據 $query->where('status', 1)->where('id', '>', 10); }); ~~~ 直接更新$_POST的操作 ~~~ $user = new User(); // 過濾post數組中的非數據表字段數據 $user->allowField(true)->save($_POST,['id' => 1]); 如果你通過外部提交賦值給模型,并且希望指定某些字段寫入,可以使用: $user = new User(); // post數組中只有name和email字段會寫入 $user->allowField(['name','email'])->save($_POST, ['id' => 1]); ~~~ ### **Model自增或自減一個字段的值** setInc/setDec 方法返回影響數據的條數 ~~~ // 默認score 字段加 1 User::get(1)->setInc('score'); // score 字段加 5 User::get(1)->setInc('score', 5); // 默認score 字段減 1 User::get(1)->setDec('score'); // score 字段減 5 User::get(1)->setDec('score', 5); //setInc/setDec支持延時更新,如果需要延時更新則傳入第三個參數 //例:延時10秒,給`score`字段增加1 User::get(1)->setInc('score', 1, 10); ~~~ ### **批量更新多條數據** 更新數據中必須帶有主鍵,否則請使用`foreach`遍歷更新。 saveAll方法更新數據返回的是更新后的數據集(或數組)。更具`'resultset_type' => 'collection',`配置返回數據集還是數組 saveAll不支持data()方法 ~~~ $user = new User; $list = [ ['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'], ['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com'] ]; $user->saveAll($list); //由于Model的save()與saveAll()方法既可以新增也可以修改,都是 自動識別是否為新增和更新 //如果業務復雜可以直接使用isUpdate()強制執行更新操作默認isUpdate(true) $user->isUpdate(true)->saveAll($list); ~~~
                  <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>

                              哎呀哎呀视频在线观看