Tp6記錄第三天資料庫操作

夏小莫發表於2020-11-11

1、一般查詢資料庫記錄多條的時候需要分批處理,之前處理的時候需要自己寫分頁,分批查詢或其他操作,框架提供了一個chuck

同時可以設定查詢順序和條件

Db::table('think_user')->chunk(100, function($users) {
    foreach ($users as $user) {
        if(如果滿足條件){
return false;會中斷

    }
});

2、如果處理大量查詢出來的資料可以採用cursor遊標查詢,查詢到的資料是個物件。

3、save方法可以自動判斷是插入和更新。

4、insert操作返回的是插入的條數,如果插入的欄位名稱資料庫不存在會丟擲異常,這時候需要用到strict(false)來過濾操作。replace()也可以滿足。

5、insertGetId()可以返回當前操作的id。

6、如果更新資料的時候需要其他欄位或者sql中的函式,可以使用exp函式。raw函式可以進行一些自增等操作。

7、自增自減可以使用函式inc/dec函式

8、提供了軟刪除的方式,delete_time欄位進行更新,需要的方法是usesoftDelete。

9、查詢中可以使用表示式 find in set。

10、withoutfield可以排除不查詢的欄位。

11、field可以在插入的時候用來過濾前端傳過來的欄位。

12、insertAll的時候如果採用limit可以分批寫入資料庫。

13、page函式可以更好的進行分頁,只需要知道這是第幾頁就可以,不需要計算起始位置。

14、paginate函式可以進行分頁查詢,同時可以渲染出分頁介面。

15、資料庫操作包含了before_select,before_find,after_insert,after_update,after_delete。可以寫事件進行監聽這些操作。

16、transaction可以用來做事務處理。

17、

 

相關文章