Php Laravel强制唯一角色验证在表单请求中失败
我的控制器如下:Php Laravel强制唯一角色验证在表单请求中失败,php,laravel,laravel-5.4,laravel-validation,Php,Laravel,Laravel 5.4,Laravel Validation,我的控制器如下: public function update(PermissionFormRequest $request,$id) { $permissionUpdated = $this->permission->update($request,$id); if($permissionUpdated){ //return $permissionUpdated; return 'updated'; } return
public function update(PermissionFormRequest $request,$id)
{
$permissionUpdated = $this->permission->update($request,$id);
if($permissionUpdated){
//return $permissionUpdated;
return 'updated';
}
return response()->json(['message' => 'Can not update ticket']);
}
申请表格代码为:
public function rules()
{
return [
'name' =>'required|unique:permissions,name,'.$this->id,
];
}
尝试使用相同id进行更新时,会引发以下错误:
{name:[该名称已被使用。]}
要获取请求中的id,可以使用route方法。请记住,在routes.php文件中使用的route'id'中使用参数名称
希望这有帮助 要获取请求中的id,可以使用route方法。请记住,在routes.php文件中使用的route'id'中使用参数名称
希望这有帮助 在表单请求中,您可以通过两种方式获取id,一种是段,另一种是路由函数 如果您使用的是资源控制器,如 路由::资源“权限”,“权限控制器”;然后$this->route'permission' 或 您正在使用自定义路由,如/permissions/{id},然后使用$this->route'id' 或者我们也可以使用段从路由获取id
public function rules()
{
$id = $this->segment(3);
return [
'name' =>'required|unique:permissions,name,'.$id,
];
}
在表单请求中,您可以通过两种方式获取id,一种是段,另一种是路由函数 如果您使用的是资源控制器,如 路由::资源“权限”,“权限控制器”;然后$this->route'permission' 或 您正在使用自定义路由,如/permissions/{id},然后使用$this->route'id' 或者我们也可以使用段从路由获取id
public function rules()
{
$id = $this->segment(3);
return [
'name' =>'required|unique:permissions,name,'.$id,
];
}
为什么不使用'name'=>'required | unique:权限,名称'。$id,我想你没有得到$this->id@HirenGohel我已经试过了,但是$id表示未定义的变量id。所以$this->id给了你id??试一下:$request->input'id'@NileshsinhRathod来获取路由参数,你可以使用$id=$this->route'id';为什么不使用'name'=>'required | unique:权限,名称'。$id,我想你没有得到$this->id@HirenGohel我已经试过了,但是$id表示未定义的变量id。所以$this->id给了你id??试一下:$request->input'id'@NileshsinhRathod来获取路由参数,你可以使用$id=$this->route'id';
public function rules()
{
$id = $this->segment(3);
return [
'name' =>'required|unique:permissions,name,'.$id,
];
}