模型修改和查詢

前邊我們學過save()  saveAll()來保存數據,此方法也可以修改數據

//使用 get()方法通過主鍵獲取數據,然後通過 save()方法保存修改,返回布爾值; 
$user = UserModel::get(118); 
$user->username = '李黑'; 
$user->email = '[email protected]'; 
$user->save();
//通過 where()方法結合 find()方法的查詢條件獲取的數據,進行修改;
 $user = UserModel::where('username', '李黑')->find();
 $user->username = '李白';
 $user->email = '[email protected]'; 
$user->save();

save()方法只會更新變化的數據,如果提交的修改數據沒有變化,則不更新;

但如果你想強制更新數據,即使數據一樣,那麼可以使用 force()方法;

$user->force()->save();

 

使用save方法的第二個參數實現過濾更新

    public function show(){
        //實例化模型User
        $user=new User();
        //save 方法兩個數組,第一個數組爲 要新增或要修改的數據,第二個數組爲where條件  成功返回true 否則 flse
        return json($user->save(['bname'=>'du偉'],['bid'=>1]));
    }

使用靜態方法結合 update()方法來更新數據,這裏返回的是影響行數;

    public function show(){
        //實例化模型User
        $user=new User();
        //更新bid 爲1 的bname=duwei   返回更新的條目
        return json($user::where('bid',1)->update(['bname'=>'duwei']));
    }

 

數據查詢

  模型類

<?php 
namespace app\model;
use think\Db;
use think\Model;

class User extends Model{

    //繼承model基類後,會有delete 和靜態destroy其他的一些方法可以調用
    //指定主鍵
    public $pk='bid';

}

控制器

    public function show(){
        //通過靜態get方法獲取模型類主鍵的信息
        $user=User::get(1);
        return json($user);
    }

 使用where過濾查詢,

    public function show(){
        //通過靜態get方法獲取模型類主鍵的信息
        $user=new User();
        //使用where過濾查詢
        return json($user::where('bid',1)->find());
    }

 

 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章