ThinkPHP6 self::create方法防止写入空数据
在ThinkPHP6中,self::create方法是用于创建新的数据记录的,如果没有传入任何数据,它会默认将空数据写入到数据库中。如果你想避免写入空数据,可以在调用create方法之前进行数据验证,确保只有非空的数据才会被写入。
以下是一个示例代码,演示如何在create方法之前进行数据验证:
use app\model\User;
// 获取表单数据
$data = [
'name' => 'John Doe',
'email' => '',
'phone' => '123456789',
];
// 进行数据验证
$validate = new \think\Validate([
'name' => 'require',
'email' => 'require|email',
'phone' => 'require',
]);
if (!$validate->check($data)) {
// 数据验证失败,输出错误信息
dump($validate->getError());
} else {
// 数据验证通过,写入数据库
User::create($data);
}
在上面的示例中,我们使用了ThinkPHP6的验证器\think\Validate进行数据验证。通过定义字段的验证规则,我们可以确保只有满足规则的非空数据才会被写入数据库。如果数据验证失败,可以通过getError方法获取错误信息并进行处理。
原文地址: https://www.cveoy.top/t/topic/pgE5 著作权归作者所有。请勿转载和采集!