laravel 插入或更新时,数据库字段严格匹配?

发布于 2022-09-05 06:30:36 字数 626 浏览 13 评论 0

laravel有这样的功能吗:

在插入或更新数据时,严格匹配传递进来的数据是否为数据库字段,多的数据丢弃或者跑出异常。

例如thinkphp类似这样的功能:

模型中,使用allowField

    $user = new User();
    // 过滤post数组中的非数据表字段数据
    $user->allowField(true)->save($_POST,['id' => 1]);

使用DB时,用strict

    // 关闭字段严格检查
    Db::name('user')
        ->strict(false)
        ->insert($data);

如果没有,请问添加这样的功能复杂吗?
(刚入门laravel,虚心学习)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

木格 2022-09-12 06:30:36

如果是用create(),例如DB::table('xxx')->create(['xx'=>'xx'])(或者用Model操作create(['xx'=>'xxx']))
插入多条记录的话,可在model里面用$fillable变量对插入的表字段进行白名单式控制.也就是说插入的时候,只能插入$fillable指定的。例如:

$fillable = ['field1','field2'];
凑诗 2022-09-12 06:30:36

字段获取可以用 request->only('field1','field2')来获取你指定的字段名字;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文