问题描述
我有带Laravel 8和Graph QL的Lighthouse软件包,
我为“ name”属性添加了@unique指令,但是在更新任何记录时无法应用此指令,因为我想跳过当前更新的记录以检查唯一性,
下面是更新模式
updateRole(id:ID,name:String!@trim @rules(apply:[“ unique:roles,name”]),isActive:Int!):角色! @update
当我手动添加带有规则的“ id”时,它可以正常工作,但是我不知道如何使它成为动态规则。
解决方法
传递您从数据库接收到的ID,以使用诸如此类的验证规则更新数据。
public function update(Request $request,Model $ModelVarible)
{
$request->validate(["name"=> "unique:tablename,fieldname,{$ModelVarible->id},id"]);
return redirect('route name');
}