javascript - Laravel 验证表中的唯一值以放入错误函数(js)
问题描述
在验证循环中的值时遇到问题。我从循环中获取值“mobile_no”和“email”,以验证这些值是否存在于我的另一个表中,其中包含 mobile no 和 email 列。感谢您的任何帮助。
$get_values = DB::table('users_preview')->get();
foreach($get_values as $values){
$email = $values->email;
$mobile_no = $values->email;
/* now I want to validate if values of email and mobile no exist in
user's table , this is my sample way to do it which is actually
wrong*/
// it only shows one validations but i like to show every each validations
for rows
if (users_preview::where('mobile', '=', $mobile_no)->count() > 0) {
return response()->json([
'message' => 'mobile is already
exist',
'errors' => $numbers,
'status' => false
]);
}
}
//scripts are
<script>
if(data.status == false){
//some codes
}
</script>
解决方案
首先,查询每个请求的所有行并不是一个好主意。试想一下,如果将来您的表中有数千行,您将达到最大执行时间,默认为 30 秒。其次,这不是有效的 PHP 代码 - 只需查看for rows
undefined variable即可$numbers
。第三,return 语句结束脚本执行。如果您想获取所有现有值,您可能应该在循环之外返回。
接下来,最重要的是,您正在查询表中的所有记录users_preview
- 然后您正在检查同一个表,假设users_preview
与您的雄辩模型相同?
如果您尝试检查整个表中的重复项,请参阅 Stackoverflow 上的这个问题:在 SQL 表中查找重复值
在 Laravel 中,您可以使用users_preview::raw(" - MY STATEMENT - ")->get();
例如执行原始语句。也users_preview::where('mobile', '=', $mobile_no)->count();
可能是您的可能解决方案。希望有帮助。
推荐阅读
- reactjs - 如何使用 react-router-dom 验证路径变量
- php - PHP高效查询mysql数据库
- linq - 如何在 C# EF dbquery 语句中使用 func 进行排序?
- cefsharp - XML 命名空间“clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf”中不存在标签“ChromiumWebBrowser”
- php - 同一个cpanel中的两个网站。主网站的 .htaccess 文件限制了辅助网站,我不确定如何
- c# - 如何订阅 IObservable 序列,强制完成,并在没有竞争条件的情况下检索所有数据
- schema.org - 在 JSON-LD 中添加 Schema.org“品牌”
- c# - DateTimePicker 的 Visual Studio 默认值
- java - Java将组添加到目录权限列表
- windows - 从源删除 30 天后,可以使用 robocopy 从目标删除文件吗?