ThinkPHP6项目基操(20.实战部分 数据库操作返回值总结)
生活随笔
收集整理的這篇文章主要介紹了
ThinkPHP6项目基操(20.实战部分 数据库操作返回值总结)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據庫操作返回值總結
- 0. 前言
- 1. Db類操作數據庫
- 1.1 新增
- 1.2 更新
- 1.3 刪除
- 1.3.1 單條刪除
- 1.3.2 批量刪除
- 1.4 查詢
- 1.4.1 單筆記錄
- 1.4.2 多筆記錄
- 2. Model模型類操作數據庫
- 2.1 新增
- 2.2 更新
- 2.2.1 單筆更新
- 2.2.2 批量更新
- 2.3 刪除
- 2.3.1 刪除模型
- 2.3.2 根據主鍵刪除
- 2.3.3 條件刪除
- 2.4 查詢
- 2.4.1 單筆記錄
- 2.4.2 多筆記錄
0. 前言
1. Db類操作數據庫
1.1 新增
$data = ['username' => 'bar', 'password' => 'foo']; $res = Db::name('user')->insert($data);返回值:
- 成功:返回1
- 失敗:拋出異常
1.2 更新
// 方式1:save方法包含主鍵 $res = Db::name('user')->save(['id' => 7, 'username' => 'thinkphp1']); // 方式2:update方法where條件更新 $res = Db::name('user')->where('id', 7)->update(['username' => 'thinkphp']); // 方式3:update方法包含主鍵 $res = Db::name('user')->update(['username' => 'thinkphp','id' => 1]);返回值:
- 成功:返回1
- 失敗:若沒有發生更新則返回0;若更新字段數據表不存在拋出異常
1.3 刪除
1.3.1 單條刪除
// 根據主鍵刪除 $res = Db::name('user')->delete(7); // 條件刪除 $res = Db::name('user')->where('id',7)->delete();返回值:
- 成功:返回1
- 失敗:返回0 (包括id不存在)
1.3.2 批量刪除
// 根據主鍵刪除 $res = Db::name('user')->delete([11,12]); // 條件刪除 $res = Db::name('user')->where('id','>',10)->delete();返回值:
- 成功:返回刪除記錄的條數
- 失敗:返回0 (包括id不存在)
1.4 查詢
1.4.1 單筆記錄
$res = Db::name('user')->where('id', 16)->find();返回值:
- 成功:返回結果數組
- 失敗:返回null
1.4.2 多筆記錄
$res = Db::name('user')->where('status', 1)->select();返回值:
- 成功:返回數據集對象
- 失敗:返回空數據集對象
如果需要轉換為數組可以使用toArray()方法:
Db::name('user')->where('status', 1)->select()->toArray();返回結果為數組:
2. Model模型類操作數據庫
2.1 新增
$user = new UserModel; $user->username = "aaa"; $user->password = "aaa"; $res = $user->save(); dump($res); // 也可直接把數據寫在save方法里面: $user->save(['username' => 'thinkphp','password' => '123456' ]);返回值:
save方法成功會返回true,并且只有當before_insert事件返回false的時候返回false,一旦有錯誤就會拋出異常。所以無需判斷返回類型。
2.2 更新
2.2.1 單筆更新
$user = UserModel::find(16); $user->username = 'qwer'; $res = $user->save(); dump($res);save方法成功返回true,并只有當before_update事件返回false的時候返回false,有錯誤則會拋出異常。
2.2.2 批量更新
$user = new UserModel; $list = [['id'=>16, 'username'=>'thinkphp'],['id'=>17, 'username'=>'onethink'] ]; $res = $user->saveAll($list); dump($res);返回的是一個數據集對象
2.3 刪除
2.3.1 刪除模型
$user = UserModel::find(16); $res = $user->delete(); dump($res);刪除成功返回true,失敗可能拋出異常
2.3.2 根據主鍵刪除
User::destroy(1); // 支持批量刪除多個數據 User::destroy([1,2,3]);主鍵不存在也返回true
2.3.3 條件刪除
User::where('id','>',10)->delete();返回刪除的記錄數
2.4 查詢
2.4.1 單筆記錄
$user = UserModel::find(18); // where查詢 $user = UserModel::where('username', 'aaaa789')->find();返回模型數據,數據在data參數中;若查詢失敗返回null
2.4.2 多筆記錄
$users = UserModel::select([18,19]); // where查詢 $users = UserModel::where('status', 1)->select();返回模型集合;若數據不存在返回空模型集合
??重磅推薦:免費商用電商系統
😏想白嫖整個電商系統用來商用?
🤑想有自己的商城實現財富自由?
🤓想學習最佳實踐提升自己技術?
快來進入🚀 傳送門 🚀,開源免費、完整示例帶你快速入門,輕松二開,走上人生巔峰!👨?🎓
總結
以上是生活随笔為你收集整理的ThinkPHP6项目基操(20.实战部分 数据库操作返回值总结)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32的学习记录--单个模块开发思路
- 下一篇: 【一】Git 安装