在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方法获取错误信息并进行处理。

ThinkPHP6 self::create方法防止写入空数据

原文地址: https://www.cveoy.top/t/topic/pgE5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录