【发布时间】:2020-01-20 16:44:19
【问题描述】:
数据验证(1 - 10000 行可能)
因此,为了提供一些上下文,我正在创建一个基于 Web 的映射界面,以将其他数据格式映射到我们的格式。
问题
获取数据数组和格式数组,如下所示:
$vehicle = [
'cost' => '$159',
'reconditioning' => '$140'
];
$formats = [
'cost' => 'integer',
'reconditioning' => 'integer'
];
检查所有字段是否与我们的数据结构不一致,例如“total_cost”将是数据中的错误,因为其中包含非数字字符。验证的输出必须为每个单独的字段显示一个错误,如下所示(真正的意思是该字段有错误):
$vehicle_errors = [
'total_cost' => true,
're_condition' => true
];
验证后,我将显示有错误的字段供用户更正。
我已经成功完成了所有这些工作,但是我使用 for 循环和 switch case 来验证每个单独的字段,当我们拥有超过几千辆汽车时,这会成为一个问题。
我的尝试
我曾尝试使用 for 循环成功地完成此操作,但 php 要求我将“max_input_vars”增加到我想尽量避免的很多,因为此操作对我的服务器造成了沉重的负担。 我也尝试过 Laravel 验证,它没有给我想要的输出,并且也遇到了与使用 for-loops 相同的问题,出现 php 错误。
可能的解决方案
我知道有一种方法可以验证 mysql 表中的数据并获得类似于我需要的输出,这将解决我的问题,因为它使用 mysql 服务器资源,但我不知道如何完成此操作,但在网上找不到有关此主题的任何内容。
【问题讨论】:
-
将数组分成块。
-
-
无论解决方案如何,都将您的请求分解为多个。为每 100 个条目(例如)制作一个带有 ajax 调用的前端进度条,并在最后显示结果(100%)
-
感谢您的建议,我将尝试按照@MatthewDaly 的建议使用生成器,我会用我的结果更新这篇文章。
-
@MatthewDaly 你能否提供一些示例代码来展示我如何使用它来解决我的数据验证问题?我一直在环顾四周并尝试不同的方法,但我不完全理解这将如何提供一种在执行验证逻辑时对车辆进行分类的方法。我阅读了您从 php 网站链接的文档,但我不完全了解如何将他们提供的示例应用于此问题。
标签: php mysql laravel validation