php - 如何在 laravel Lighthouse 中更新内容时添加 @unique 验证?
问题描述
我有用于 Graph QL 的带有 Lighthouse 包的 Laravel 8,
我为“name”属性添加了@unique 指令,但是在更新任何记录时我无法应用它,因为我想跳过当前更新的记录以检查唯一性,
以下是更新的架构
updateRole(id: ID, name: String!@trim @rules(apply : ["unique:roles,name"]), isActive: Int!): 角色!@更新
当我使用规则手动添加“id”时,它工作正常,但我不知道如何使其成为动态规则。
解决方案
传递您从数据库接收的 ID,以使用类似的验证规则更新数据。
public function update(Request $request, Model $ModelVarible)
{
$request->validate(["name"=> "unique:tablename,fieldname,{$ModelVarible->id},id"]);
return redirect('route name');
}
推荐阅读
- flutter - BlocBuilder 没有更新状态变化
- javascript - 无法在 Node JS 中设置 Cookie - React
- angular - Angular 8 Jasmine 间谍和不同类型的 returnValue
- javafx - RichTextFX,部分文档内容只读
- python - 一次更改所有子图的线型
- javascript - 我无法将具有动态参数的函数分配为元素的“onclick”
- linux - 如何用另一个文件临时屏蔽只读文件系统中的文件?
- python - 包含数字的列表
- android - Flutter Driver 测试超时
- hive - Hive 在字符串列中将 Null 转换为空字符串