Thinkphp框架對數據庫的操作(總結)

Thinkphp框架對數據庫的操作(總結)

1.添加數據

1.1添加一條數據

$user???????????=?new?User; $user->name?????=?'thinkphp'; $user->email????=?'thinkphp@qq.com'; $user->save(); $user?=?new?User; $user->save([ ????'name'??=>??'thinkphp', ????'email'?=>??'thinkphp@qq.com' ]);

?

1.2過濾非數據表字段的數據

$user?=?new?User; //?過濾post數組中的非數據表字段數據 $user->allowField(true)->save($_POST);

?1.3指定某些字段數據

立即學習PHP免費學習筆記(深入)”;

$user?=?new?User; //?post數組中只有name和email字段會寫入 $user->allowField(['name','email'])->save($_POST);

1.4添加多條數據

$user?=?new?User; $list?=?[ ????['name'=>'thinkphp','email'=>'thinkphp@qq.com'], ????['name'=>'onethink','email'=>'onethink@qq.com'] ]; $user->saveAll($list);

?

1.5靜態方法?

$user?=?User::create([ ????'name'??=>??'thinkphp', ????'email'?=>??'thinkphp@qq.com' ]); echo?$user->name; echo?$user->email; echo?$user->id;?//?獲取自增ID

?

2.更新數據

2.1查找并更新

$user?=?User::get(1); $user->name?????=?'thinkphp'; $user->email????=?'thinkphp@qq.com'; $user->save();

?2.2直接更新數據

$user?=?new?User; //?save方法第二個參數為更新條件 $user->save([ ????'name'??=>?'thinkphp', ????'email'?=>?'thinkphp@qq.com' ],['id'?=>?1]);

2.3 過濾非數據表字段

$user?=?new?User; //?過濾post數組中的非數據表字段數據 $user->allowField(true)->save($_POST,['id'?=>?1]);

2.4指定某些字段

$user?=?new?User(); //?post數組中只有name和email字段會寫入 $user->allowField(['name','email'])->save($_POST,?['id'?=>?1]);

2.5批量更新數據

$user?=?new?User; $list?=?[ ????['id'=>1,?'name'=>'thinkphp',?'email'=>'thinkphp@qq.com'], ????['id'=>2,?'name'=>'onethink',?'email'=>'onethink@qq.com'] ]; $user->saveAll($list);

?2.6靜態方法

User::where('id',?1) ????->update(['name'?=>?'thinkphp']);

?

2.7自動識別

?2.7.1顯示更新數據

//?實例化模型 $user?=?new?User; //?顯式指定更新數據操作 $user->isUpdate(true) ????->save(['id'?=>?1,?'name'?=>?'thinkphp']);

2.7.2顯示新增數據

$user?=?User::get(1); $user->name?=?'thinkphp'; //?顯式指定當前操作為新增操作 $user->isUpdate(false)->save();

3.刪除數據

3.1刪除當前模型

?

$user?=?User::get(1); $user->delete();

?

3.2根據主鍵刪除

User::destroy(1); //?支持批量刪除多個數據 User::destroy('1,2,3'); //?或者 User::destroy([1,2,3]);

?3.3條件刪除

User::destroy(function($query){ ????$query->where('id','>',10); });

?

4.查詢數據

4.1獲取單個數據

?

//?取出主鍵為1的數據 $user?=?User::get(1); echo?$user->name; //?使用查詢構造器查詢滿足條件的數據 $user?=?User::where('name',?'thinkphp')->find(); echo?$user->name;

?

4.2獲取多個數據

//?根據主鍵獲取多個數據 $list?=?User::all('1,2,3'); //?或者使用數組 $list?=?User::all([1,2,3]); //?對數據集進行遍歷操作 foreach($list?as?$key=>$user){ ????echo?$user->name; }
//?使用查詢構造器查詢 $list?=?User::where('status',?1)->limit(3)->order('id',?'asc')->select(); foreach($list?as?$key=>$user){ ????echo?$user->name; }

4.3獲取某個字段或者某個列的值

//?獲取某個用戶的積分 User::where('id',10)->value('score'); //?獲取某個列的所有值 User::where('status',1)->column('name'); //?以id為索引 User::where('status',1)->column('name','id');

更多相關ThinkPHP知識,請訪ThinkPHP教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享