php - Laravel 规则验证检查数据库不工作
问题描述
这是我的代码:
$id_project = $request->id;
$rfid = $request->rfid;
$validateData = $request->validate([
'name' => 'required|string|max:255',
'rfid' => 'required|min:40',[
Rule::exists('usersdata')->where(function($query) use ($id_project,$rfid){
$query->where('id_project', $id_project)->where('rfid', $rfid);
}),
],
'description' => 'string|max:255|nullable',
]);
$user = UserModel::create($validateData);
return Response()->json(['success' => 'success insert data'], 200);
验证 RFID(必需或最少 40 个字符)的工作。
但是如果我使用相同的 id_project 和相同的 RFID 数据插入,则无法正常工作。而在我的数据库中已经有 id_project 和 rfid。
保持成功插入数据。
解决方案
您的代码有语法错误,请将您的代码与更正后的代码进行比较:
$validateData = $request->validate([
'name' => 'required|string|max:255',
'rfid' => [
'required',
'min:40',
Rule::unique('usersdata', 'rfid')
->where('id_project', $id_project)
],
'description' => 'string|max:255|nullable',
]);
推荐阅读
- google-chrome-extension - Chrome 扩展 Oauth2 身份验证和验证问题
- android - Firestore:是否相当于用子集合调用链接一个文档,存储一个文档然后存储它的子集合?
- r - 如何使用 PLM 运行州级固定效应
- algorithm - 解决具有一些约束的极小极大路径问题
- bash - 做算术后在bash中将前导0添加到整数
- ssms - SSMS 显示损坏切换选项卡或执行脚本
- javascript - 如何在悬停的 div2 上显示 div1 并在鼠标移出时淡化 div1?
- java - 当其他片段中的数据发生变化时如何刷新recyclerview适配器?
- postgresql - 我不知道 Postgresql 如何在我的 Mac 上创建用户
- typo3 - TYPO3:当可通过 Extbase 扩展中的 Flexforms 设置时,TCA 中的默认设置被覆盖