是否值得使用 laravel 命中数据库的验证?

Is it worth to use laravel validations that hits the database?

我正在使用 laravel 框架附带的验证来验证我的输入,我通常会这样做:

 'username'=>'required|unique:users'

我的问题是 "Is it worth it?" 给出这些验证无论如何都会在实际更新记录时由数据库处理。 我们不是通过这样做来复制工作并多次访问数据库,这不是最有效的方法。

一般用这种方式。所以验证

我更喜欢验证,尤其是 Laravel 表单请求验证。 将来你可以使用这样的东西: $user = User::find($id)->name;直接从查询生成器和许多其他用途访问属性

IMO,值得。

当您使用这种验证时,您会自动获得该字段的错误反馈,并知道该电子邮件已被使用。

如果你不这样做,当然,数据库会抛出一个你需要处理的独特错误,手动创建一个错误包并输出它。

如果你只插入一条记录,查询数据库的开销是最小的,因为你已经在该列上有一个索引,即使对于大型数据集也应该非常快。

最终您可能需要使用此验证更新很多行,并且 Laravel 不进行优化,进行大量查询。在这种情况下,也只有在这种情况下,它可能不值得。