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、