partition 方法用于是数据库水平分表
partition($data, $field, $rule);
// $data 分表字段的数据
// $field 分表字段的名称
// $rule 分表规则
注意:不要使用任何 SQL 语句中会出现的关键字当表名、字段名,例如 order 等。会导致数据模型拼装 SQL 语句语法错误。
partition 方法用法如下:
// 用于写入
$data = [
'user_id' => 110,
'user_name' => 'think'
];
$rule = [
'type' => 'mod', // 分表方式
'num' => 10 // 分表数量
];
Db::name('log')
->partition(['user_id' => 110], "user_id", $rule)
->insert($data);
// 用于查询
Db::name('log')
->partition(['user_id' => 110], "user_id", $rule)
->where(['user_id' => 110])
->select();
再者就是:
strict方法用于设置是否严格检查字段名,用法如下:
// 关闭字段严格检查
Db::name('user')
->strict(false)
->insert($data);
注意,系统默认值是由数据库配置参数fields_strict决定,因此修改数据库配置参数可以进行全局的严格检查配置,如下:
// 关闭严格检查字段是否存在
'fields_strict' => false,
如果开启字段严格检查的话,在更新和写入数据库的时候,一旦存在非数据表字段的值,则会抛出异常。
本文介绍了数据库操作中的partition方法,用于水平分表以及如何根据用户_id进行分片。同时,strict方法讨论了字段名检查的开启与关闭,以及其对插入和更新操作的影响。
———链式语句中partition和strict用法&spm=1001.2101.3001.5002&articleId=135710647&d=1&t=3&u=61efd0631b784d4dae9a3a75bfc3a3b0)
405

被折叠的 条评论
为什么被折叠?



